ctorgalson.vim
Rôle Ansible Vim
Un rôle Ansible pour installer Vim et des plugins sur Linux et macOS.
Ce rôle utilise le gestionnaire de paquets natif de Vim 8 (voir :help packages
), donc les paquets seront installés par défaut aux emplacements suivants :
~/.vim/pack/ansible-managed/start
~/.vim/pack/ansible-managed/opt
Notez que, contrairement à Pathogen ou à d'autres gestionnaires de plugins Vim, la gestion des paquets native de Vim ne crée pas automatiquement les helptags. Ce rôle s'attend à être le gestionnaire de paquets (c'est-à-dire qu'il s'attend à être exécuté chaque fois qu'un plugin est ajouté ou supprimé) et gère donc la création de helptags.
Si votre cas d'utilisation ne concerne pas l'utilisation du rôle pour toute la gestion des plugins Vim, vous devrez gérer les helptags en utilisant une méthode comme l'une des suivantes :
- exécuter
:helptags ALL
depuis l'intérieur de Vim, - le script (avec cron ou un autre déclencheur comme les hooks Git) comme le fait ce rôle :
vim -c 'helptags ~/.vim/pack' -c q
Exigences
Le rôle n'a pas d'exigences spéciales, mais la gestion des paquets Vim ne fonctionne qu'avec Vim > 8.0, il est donc nécessaire de s'assurer qu'une version suffisamment récente de Vim est présente ou sera installée en définissant la variable vim_installed_packages
de manière appropriée.
Variables du rôle
Les variables suivantes sont utilisées dans le rôle. Voir également l'Exemple de Playbook (ci-dessous) et molecule/default/playbook.yml
pour des exemples spécifiques.
Nom de la variable | Valeur par défaut | Description |
---|---|---|
vim_installed_packages |
["vim"] |
Une liste de paquets à installer (transmise au module Package d'Ansible). |
vim_removed_packages |
[] |
Une liste de paquets à supprimer (par exemple, sur Ubuntu, il peut être préférable de supprimer vim-tiny ). |
vim_owner |
"" |
L'utilisateur système pour lequel installer Vim et/ou les plugins associés. |
vim_pack_subdirectory |
ansible-managed |
Le nom du répertoire dans lequel placer les plugins installés par ce rôle, par défaut cela crée e.g. ~/.vim/pack/ansible-managed/start et ~/.vim/pack/ansible-managed/opt . |
vim_installed_plugins |
[] |
La liste des plugins à installer dans ~/.vim/pack/ansible-managed/start --voir :help packages pour des détails sur ce que cela signifie. Doit contenir une propriété repo , une propriété type définie sur 'start' ou 'opt', et (facultatif) une propriété version utilisée par le module Git d'Ansible. |
vim_removed_plugins |
[] |
Une liste de plugins à supprimer de ~/.vim/pack/ansible-managed/{opt,start} . Chacun doit contenir une propriété directory définie sur le nom du répertoire du plugin, et une propriété type définie sur 'start' ou 'opt'. |
vim_dotfiles |
[] |
Une liste de fichiers de configuration locaux liés à Vim à installer dans ~/ . |
Exemple de Playbook
---
# Note : tous ces plugins - même ceux supprimés dans
# l'exemple - sont d'excellents plugins que j'utilise chaque jour.
#
- 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
Licence
GPLv3
Informations sur l'auteur
Christopher Torgalson
ansible-galaxy install ctorgalson.vim