ctorgalson.vim
Rol de Ansible Vim
Un rol de Ansible para instalar Vim y sus complementos en Linux y macOS.
Este rol utiliza el gestor de paquetes nativo de Vim 8 (ver :help packages
), por lo que los complementos se instalarán de forma predeterminada en las siguientes ubicaciones:
~/.vim/pack/ansible-managed/start
~/.vim/pack/ansible-managed/opt
Ten en cuenta que, a diferencia de Pathogen u otros gestores de complementos de Vim, la gestión de paquetes nativa de Vim no crea automáticamente helptags. Este rol espera ser el gestor de paquetes (es decir, espera ejecutarse cada vez que se añada o elimine un complemento), y por lo tanto gestiona la creación de helptags.
Si tu caso de uso no implica usar el rol para la gestión de todos los complementos de Vim, necesitarás gestionar los helptags utilizando un método como uno de los siguientes:
- ejecutar
:helptags ALL
desde dentro de Vim, - programarlo (en cron o en otro desencadenador como Git hooks) con algo similar a lo que hace este rol:
vim -c 'helptags ~/.vim/pack' -c q
Requisitos
El rol no tiene requisitos especiales, pero la gestión de paquetes de Vim solo funciona con Vim > 8.0, por lo que es necesario asegurarse de que una versión suficientemente reciente de Vim esté presente o se instalará configurando la variable vim_installed_packages
adecuadamente.
Variables del Rol
Las siguientes variables se utilizan en el rol. Consulta también el Playbook de Ejemplo (a continuación) y molecule/default/playbook.yml
para ejemplos específicos.
Nombre de variable | Valor por defecto | Descripción |
---|---|---|
vim_installed_packages |
["vim"] |
Una lista de paquetes a instalar (pasada al módulo de Paquetes de Ansible). |
vim_removed_packages |
[] |
Una lista de paquetes a eliminar (por ejemplo, en Ubuntu, podría ser preferible eliminar vim-tiny ). |
vim_owner |
"" |
El usuario del sistema para el que se instalará Vim y/o complementos asociados. |
vim_pack_subdirectory |
ansible-managed |
El nombre del directorio donde se colocarán los complementos instalados por este rol, e.g., ~/.vim/pack/ansible-managed/start y ~/.vim/pack/ansible-managed/opt . |
vim_installed_plugins |
[] |
La lista de complementos a instalar en ~/.vim/pack/ansible-managed/start --ver :help packages para detalles sobre lo que esto significa. Debe contener una propiedad repo , una propiedad type establecida en 'start' o 'opt', y (opcionalmente) una propiedad version utilizada por el módulo Git de Ansible. |
vim_removed_plugins |
[] |
Una lista de complementos a eliminar de ~/.vim/pack/ansible-managed/{opt,start} . Cada uno debe contener una propiedad directory establecida en el nombre del directorio del complemento, y una propiedad type establecida en 'start' o 'opt'. |
vim_dotfiles |
[] |
Una lista de archivos de configuración locales relacionados con vim a instalar en ~/ . |
Ejemplo de Playbook
---
# Nota: todos estos complementos--incluso los que se están eliminando en el
# ejemplo--son complementos geniales que uso todos los días.
#
- hosts: all
vars:
vim_removed_packages:
- "vim-tiny"
vim_owner: "molecule"
vim_installed_plugins:
- repo: "https://github.com/altercation/vim-colors-solarized.git"
type: "start"
- repo: "https://github.com/itchyny/lightline.vim.git"
type: "start"
- repo: "https://github.com/scrooloose/nerdcommenter.git"
type: "start"
- repo: "https://github.com/skammer/vim-css-color.git"
type: "start"
- repo: "https://github.com/vim-vdebug/vdebug.git"
type: "opt"
- repo: "https://github.com/godlygeek/tabular.git"
type: "opt"
vim_removed_plugins:
- directory: "nerdcommenter"
type: "start"
- directory: "tabular"
type: "opt"
vim_dotfiles:
- "{{ playbook_dir }}/files/dotfiles/.vimrc"
roles:
- role: ansible-role-vim
Licencia
GPLv3
Información del Autor
Christopher Torgalson
ansible-galaxy install ctorgalson.vim