関連記事
- Chefを使ってより効率的にサーバを管理しよう。まずは用語から
- Berkshelfを使って外部クックブックをノードに適用する。
- クックブックを作成してノードに適用する。- その1
- クックブックを作成してノードに適用する。- その2
- ChefでCentOS 6.7 + rbenv + ruby 2.3.0の環境を構築する。
- ChefでCentOS 6.7 + Vim 7.4 + luaを設置する。
- ChefでVimプラグイン管理者NeoBundleを設置する。
- Chefのレシピをデバッグしてみよう。
- ChefでCentOS 6.7 + nginxを設置する。- 外部クックブック
- ChefでCentOS 6.7 + nodejs + npmを設置する。
- ChefでVimプラグイン管理者vim-plugを設置する。
vim-plugについて
- vim-plugの詳細については下記の記事を参考にして欲しい。
- NeoBundleからvim-plugへ
クックブックの修正
- NeoBundleからvim-plugに切り替えたので、既存レシピを修正した。
- site-cookbooks/vim-plugin/recipes/default.rb
package"vim"doaction:installenddirectory"/home/#{node['user']}/.vim"doownernode['user']groupnode['group']mode'0755'action:createend%w(backup swap).eachdo|dir|directory"/home/#{node['user']}/.vim/#{dir}"doownernode['user']groupnode['group']mode'0755'action:createendendexecute'install vim-plug'dousernode['user']groupnode['group']cwd"/home/#{node['user']}"environment'HOME'=>"/home/#{node['user']}"command"curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim"not_if{File.exists?("/home/#{node['user']}/.vim/autoload/plug.vim")}end%w(.vimrc_scss_indent .vimrc).eachdo|file|cookbook_file"/home/#{node['user']}/#{file}"doownernode['user']groupnode['group']mode'0644'endendexecute'install vim plugin via vim-plug'dousernode['user']groupnode['group']cwd"/home/#{node['user']}"environment'HOME'=>"/home/#{node['user']}"command"vim -c 'set shortmess=at' +PlugInstall! +qall"not_if{File.exists?("/home/#{node['user']}/.vim/plugged")}end
- 以前の記事で誤りがあった。
- user、group、environmentを指定するとそのユーザで実行される。
- むしろsudoでユーザを指定してコマンドを実行するとrootとvagrant(ユーザ)でコマンドが2回実行された。(ゲスト上でpsコマンドで確認)
- colorschemeのプラグインが設置されていない状態でcolorschemeを指定するようになりエラーが発生してvimコマンドの実行が止まってしまうのが問題だった。
.vimrcの修正
- プラグインの管理のためvim-plugを使うように修正した。
- colorschemeを指定する部分をコメントアウトした。
- https://github.com/devtopia/chef/blob/vim-plugin/site-cookbooks/vim-plugin/files/default/.vimrc