LoginSignup
4
2

More than 5 years have passed since last update.

ChefでVimプラグインマネージャーvim-plugを設置する。

Last updated at Posted at 2016-03-08

関連記事

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の修正

追記

  • 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から無くなり設置が失敗するので、コメントアウトした。

参考

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2