My Note

自己理解のためのブログ

リモートサーバ上で効率的にAnsibleを書くためにvimをカスタマイズする ( NERDTreeとvim-ansible-vault導入 )

vimプラグイン管理ツールをインストールする(NEOBUNDLE)

$ curl https://raw.githubusercontent.com/Shougo/neobundle.vim/master/bin/install.sh | sh

Githubプラグインも利用する(vim-ansible-yaml)

  • NeoBundle 'chase/vim-ansible-yaml'

■ vimrcを編集する

if has('vim_starting')
  set nocompatible
  set runtimepath+=~/.vim/bundle/neobundle.vim/
endif

set number
imap <C-j> <esc>
nnoremap <silent><C-e> :NERDTreeToggle<CR>

call neobundle#begin(expand('~/.vim/bundle/'))

NeoBundleFetch 'Shougo/neobundle.vim'
NeoBundle 'Shougo/neosnippet.vim'
NeoBundle 'Shougo/neosnippet-snippets'
NeoBundle 'tpope/vim-fugitive'
NeoBundle 'kien/ctrlp.vim'
NeoBundle 'flazz/vim-colorschemes'
NeoBundle 'scrooloose/nerdtree'
NeoBundle 'Shougo/vimshell', { 'rev' : '3787e5' }
NeoBundle 'chase/vim-ansible-yaml'
NeoBundle 'vim-ansible-vault'

call neobundle#end()

filetype plugin indent on
NeoBundleCheck

vim .vimrcを開くと下記のようにインストールが始まるので yと入力

Not installed bundles:  ['vimshell', 'ctrlp.vim', 'vim-..., 'vim-fugitive', 'neosnippet.vim', 'neosnippet-snippets']
Install bundles now?
(y)es, [N]o:

ansible-vaultをvimコマンドで利用する

秘密情報を暗号化するには $ ansible-vault encrypt --vault-password-file=~/.vault_password vault.yaml のコマンドが必要で打つのが結構しんどい..

めっちゃ便利ツールがあった..!ので導入。

  • vim-ansible-vaultを利用
  • .vimrc に以下を追加
    • NeoBundle 'vim-ansible-vault'
    • ※ 上記の.vimrcファイルには定義済み
  • vaultパスワードを記載したファイルを作成

    • ~/.vault_password
  • 暗号化するvimコマンド

    • :AnsibleVaultEncrypt

ansible-vault-before.png


■ 結果

ansible-vault-encrypt-result.png


  • 復号するvimコマンド
    • :AnsibleVaultDecrypt

ansible-vault-decrypt1.png


■ 結果

ansible-vault-decrypt2.png


ショートカット

コマンド 説明
Ctr+ww タブを移動する
Ctr+e NEDRTreeモードにする
Ctr+j ESCボタン
Ctr+wh カーソルを左のウィンドウに移動する
Ctr+wj カーソルを下のウィンドウに移動する
Ctr+wk カーソルを上のウィンドウに移動する
Ctr+wl カーソルを右のウィンドウに移動する

ファイル操作

コマンド 説明
o ファイルオープンする
t タブでオープンする
i 水平分割でファイルをオープン
s 垂直分割でオープンする
gt 画面タブを移動する

コマンドモード

コマンド 説明
:sh シェルを実行してから戻ってこれる(vimが開いている状態になる)

vimのショートカットメモは適宜更新します

まとめ

Ansibleをリモートサーバ上のvimを利用するときに効率的にコーディングするためにセットアップを紹介しました。 その他のvimの設定は以下の記事に記載しています。