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
Информация об авторе
Кристофер Торгалсон
ansible-galaxy install ctorgalson/ansible-role-vim