ctorgalson.vim
Ansible Rolle Vim
Eine Ansible-Rolle zur Installation von Vim und Plugins auf Linux und macOS.
Diese Rolle verwendet den integrierten Paketmanager von Vim 8 (siehe :help packages
), daher werden Rollen standardmäßig an den folgenden Orten installiert:
~/.vim/pack/ansible-managed/start
~/.vim/pack/ansible-managed/opt
Als Hinweis: Im Gegensatz zu Pathogen oder anderen Vim-Plugin-Managern erstellt der native Paketmanager von Vim nicht automatisch helptags. Diese Rolle erwartet, der Paketmanager zu sein (d.h. sie wird jedes Mal ausgeführt, wenn ein Plugin hinzugefügt oder entfernt wird) und verwaltet daher die Erstellung von helptags.
Wenn dein Anwendungsfall die Verwendung der Rolle für alle Vim-Plugin-Management nicht umfasst, musst du die helptags mit einer Methode wie einer der folgenden verwalten:
- führe
:helptags ALL
von inside Vim aus, - skripte es (z.B. auf Cron oder einen anderen Trigger wie Git Hooks), ähnlich wie es diese Rolle macht:
vim -c 'helptags ~/.vim/pack' -c q
Anforderungen
Die Rolle hat keine besonderen Anforderungen, aber die Paketverwaltung von Vim funktioniert nur mit Vim > 8.0, daher ist es notwendig sicherzustellen, dass eine ausreichend aktuelle Version von Vim entweder vorhanden ist oder durch die entsprechende Einstellung der Variablen vim_installed_packages
installiert wird.
Rollenvariablen
Die folgenden Variablen werden in der Rolle verwendet. Siehe auch Beispiel-Playbook (unten) und molecule/default/playbook.yml
für spezifische Beispiele.
Variablenname | Standardwert | Beschreibung |
---|---|---|
vim_installed_packages |
["vim"] |
Eine Liste der zu installierenden Pakete (wird an Ansible's Paketmodul übergeben). |
vim_removed_packages |
[] |
Eine Liste der zu entfernenden Pakete (z.B. könnte es unter Ubuntu besser sein, vim-tiny zu entfernen). |
vim_owner |
"" |
Der Systembenutzer, für den Vim und/oder die zugehörigen Plugins installiert werden sollen. |
vim_pack_subdirectory |
ansible-managed |
Der Name des Verzeichnisses, in das die von dieser Rolle installierten Plugins standardmäßig erstellt werden, z.B. ~/.vim/pack/ansible-managed/start und ~/.vim/pack/ansible-managed/opt . |
vim_installed_plugins |
[] |
Die Liste der Plugins, die in ~/.vim/pack/ansible-managed/start installiert werden sollen – siehe :help packages für Details, was das bedeutet. Sollte eine repo -Eigenschaft, eine type -Eigenschaft, die entweder 'start' oder 'opt' gesetzt ist, und (optional) eine version -Eigenschaft, wie sie im Ansible-Git-Modul verwendet wird, enthalten. |
vim_removed_plugins |
[] |
Eine Liste der Plugins, die aus ~/.vim/pack/ansible-managed/{opt,start} entfernt werden sollen. Jedes sollte eine directory -Eigenschaft mit dem Verzeichnisnamen des Plugins und eine type -Eigenschaft, die entweder 'start' oder 'opt' gesetzt ist, enthalten. |
vim_dotfiles |
[] |
Eine Liste von lokalen, vim-bezogenen Dotfiles, die nach ~/ installiert werden sollen. |
Beispiel-Playbook
---
# Hinweis: Alle diese Plugins – selbst die, die im Beispiel entfernt werden – sind großartige Plugins, die ich jeden Tag benutze.
#
- 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
Lizenz
GPLv3
Autorinformationen
Christopher Torgalson
ansible-galaxy install ctorgalson.vim