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

Über das Projekt

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

Installieren
ansible-galaxy install ctorgalson.vim
GitHub Repository
Lizenz
gpl-3.0
Downloads
2.9k