vim

Ansible Роль Vim

Ansible роль для установки Vim и плагинов на Linux и macOS.

Эта роль использует встроенный менеджер пакетов Vim 8 (см. :help packages), поэтому плагины будут установлены по умолчанию в следующие места:

  • ~/.vim/pack/ansible-managed/start
  • ~/.vim/pack/ansible-managed/opt

Обратите внимание, что, в отличие от Pathogen или других менеджеров плагинов Vim, встроенное управление пакетами Vim не создает helptags автоматически. Эта роль предполагает, что она будет менеджером пакетов (т.е. ожидает, что будет запущена каждый раз, когда плагин добавляется или удаляется) и управляет созданием helptags.

Если ваш случай использования не предполагает использование роли для всего управления плагинами Vim, вам нужно будет управлять helptags, используя один из следующих методов:

  • выполните :helptags ALL из Vim,
  • скриптуйте это (на cron или другой триггер, например, Git hooks) что-то вроде того, как это делает эта роль: vim -c 'helptags ~/.vim/pack' -c q

Требования

У роли нет особых требований, но управление пакетами Vim работает только с Vim > 8.0, поэтому необходимо убедиться, что установлена достаточно свежая версия Vim или она будет установлена, настроив переменную vim_installed_packages соответственно.

Переменные роли

Следующие переменные используются в роли. См. также Пример плейбука (ниже) и molecule/default/playbook.yml для конкретных примеров.

Название переменной Значение по умолчанию Описание
vim_installed_packages ["vim"] Список пакетов для установки (передается в пакетный модуль Ansible).
vim_removed_packages [] Список пакетов для удаления (например, в Ubuntu может быть предпочтительным удалить vim-tiny).
vim_owner "" Системный пользователь, для которого устанавливается Vim и/или связанные плагины.
vim_pack_subdirectory ansible-managed Имя директории, в которой будут установлены плагины, установленные этой ролью, например ~/.vim/pack/ansible-managed/start и ~/.vim/pack/ansible-managed/opt.
vim_installed_plugins [] Список плагинов для установки в ~/.vim/pack/ansible-managed/start — см. :help packages для подробностей. Должен содержать свойство repo, свойство type, установленное на 'start' или 'opt', и (опционально) свойство version, используемое модулем Git Ansible.
vim_removed_plugins [] Список плагинов для удаления из ~/.vim/pack/ansible-managed/{opt,start}. Каждый из них должен содержать свойство directory, установленное на имя директории плагина, и свойство type, установленное на 'start' или 'opt'.
vim_dotfiles [] Список локальных файлов конфигурации Vim для установки в ~/.

Пример плейбука

---
# Примечание: все эти плагины — даже те, которые будут удалены в
# примере — это отличные плагины, которыми я пользуюсь каждый день.
#
- 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

Лицензия

GPLv3

Информация об авторе

Кристофер Торгалсон

О проекте

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

Установить
ansible-galaxy install ctorgalson/ansible-role-vim
Лицензия
gpl-3.0
Загрузки
2773
Владелец