ctorgalson.vim
Ansible 角色 Vim
一个用于在 Linux 和 macOS 上安装 Vim 和插件的 Ansible 角色。
这个角色使用 Vim 8 的本地包管理器(参见 :help packages
),所以角色将默认安装到以下位置:
~/.vim/pack/ansible-managed/start
~/.vim/pack/ansible-managed/opt
请注意,与 Pathogen 或其他 Vim 插件管理器不同,Vim 的本地包管理不会自动创建帮助标签。这个角色期望成为包管理器(即期望在每次添加或移除插件时运行),因此会管理帮助标签的创建。
如果你的使用案例不涉及使用此角色管理所有的 Vim 插件,你需要使用以下方法之一来管理帮助标签:
- 在 Vim 中运行
:helptags ALL
, - 编写脚本(在 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 的 Package 模块)。 |
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',以及(可选的)一个由 Ansible 的 Git 模块使用的 version 属性。 |
vim_removed_plugins |
[] |
要从 ~/.vim/pack/ansible-managed/{opt,start} 中移除的插件列表。每个条目应包含一个目录属性,设置为插件的目录名称,以及一个 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
作者信息
克里斯托弗·托尔加尔森 (Christopher Torgalson)
安装
ansible-galaxy install ctorgalson.vim
许可证
gpl-3.0
下载
2.9k