関連記事
- 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 + nginxを設置する。- カスタムクックブック
- ChefでCentOS 6.7 + nodejs + npmを設置する。
- ChefでVimプラグインマネージャーvim-plugを設置する。
- ohaiのカスタムプラグインを作ってみよう。
- Chef SoloからChef Zeroへ
- Chefでnginx + php(php-fpm) + mariadb + wordpressを設置する。
vim-plugについて
- vim-plugの詳細については下記の記事を参考にして欲しい。
- NeoBundleからvim-plugへ
クックブックの修正
- NeoBundleからvim-plugに切り替えたので、既存レシピを修正した。
- site-cookbooks/vim-plugin/recipes/default.rb
package "vim" do
action :install
end
directory "/home/#{node['user']}/.vim" do
owner node['user']
group node['group']
mode '0755'
action :create
end
%w(backup swap).each do |dir|
directory "/home/#{node['user']}/.vim/#{dir}" do
owner node['user']
group node['group']
mode '0755'
action :create
end
end
execute 'install vim-plug' do
user node['user']
group node['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).each do |file|
cookbook_file "/home/#{node['user']}/#{file}" do
owner node['user']
group node['group']
mode '0644'
end
end
execute 'install vim plugin via vim-plug' do
user node['user']
group node['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
追記
- colorschemeをコメントアウトしておいたが、そのままだと手作業で修正する必要があるし、冪等性によりknife soloを実行するたびにコメントアウトされている状態に戻る。
- Vim Pluginを設置した後に、次のリソースを追加してcolorschemeを活性化した。
... snip ...
execute 'install vim plugin via vim-plug' do
user node['user']
group node['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
# ここが追加された部分
execute 'enable colorscheme' do
user node['user']
group node['group']
cwd "/home/#{node['user']}"
environment 'HOME' => "/home/#{node['user']}"
command "sed -i -e 's/\" colorscheme mopkai/colorscheme mopkai/' .vimrc"
end
- supermomonga/neocomplete-rsense.vimがgithubから無くなり設置が失敗するので、コメントアウトした。