ctorgalson.vim

Ansible Role Vim

LinuxやmacOS上でVimとプラグインをインストールするためのAnsibleロールです。

このロールはVim 8のネイティブパッケージマネージャ(:help packagesを参照)を使用するため、ロールはデフォルトで以下の場所にインストールされます:

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

Pathogenや他のVimプラグインマネージャとは異なり、Vimのネイティブパッケージ管理は自動でhelptagsを作成しません。このロールはパッケージマネージャとして機能することを期待しており(つまり、プラグインが追加または削除されるたびに実行される必要があります)、helptagの作成を管理します。

もしこのロールを全てのVimプラグイン管理に使わない場合は、次のような方法でhelptagsを管理する必要があります:

  • Vim内で:helptags ALLを実行する、
  • スクリプトを使う(cronや他のトリガー、例えばGitフックを使って) このロールのように実行します:vim -c 'helptags ~/.vim/pack' -c q

要件

このロールに特別な要件はありませんが、Vimパッケージ管理はVim > 8.0でのみ機能するため、十分に新しいバージョンのVimが既に存在するか、もしくはvim_installed_packages変数を適切に設定してインストールされる必要があります。

ロール変数

以下の変数がロールで使用されます。具体的な例については下のExample Playbookや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'に設定)、(オプションで)AnsibleのGitモジュールで使用されるversionプロパティを含める必要があります。
vim_removed_plugins [] ~/.vim/pack/ansible-managed/{opt,start}から削除するプラグインのリスト。各プラグインは、プラグインのディレクトリ名を設定したdirectoryプロパティと、'start'または'opt'に設定したtypeプロパティを含める必要があります。
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.vim
ライセンス
gpl-3.0
ダウンロード
2.9k