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

À propos du projet

An Ansible role to install Vim and plugins on Linux and macOS.

Installer
ansible-galaxy install ctorgalson.vim
Licence
gpl-3.0
Téléchargements
2.9k
Propriétaire