はじめに
先日10年ぶりにvimのメジャーヴァージョンがアップしました。
http://vim-jp.org/blog/2016/09/13/vim8-release.html
早速vimのヴァージョンを7.4から8.0にあげました。
しかし、7.4では効いていた.vimrcのset expandtab
が効かず、tabを押すとスペース展開してくれずにtabがそのまま挿入されてしまいました。
原因と解決方法
とりあえずgithubで問い合わせてみました。
問い合わせたときのチケット
https://github.com/vim/vim/issues/1078
set expandtab
が効かなかったのは.vimrcにset paste
を記載してあったことが原因でした。
問い合わせに対応してくださった方が
The whole point of set paste is to disable things like mappings, wordwrap, indenting, etc. (and prevents, that a tab is replaced by the equivalent number of spaces). That is a setting that shouldn't be set in your .vimrc, only temporarily. You might want to read up the help on it :h 'paste', :h 'pastetoggle' and similar. If you have further questions, please ask on the appropriate forums, like the vim-use ml or vi.stackexchange.com
という回答をくださったので、vimのhelpを参照してみると確かにset paste
は一時的に使うのが好ましいのですね。
http://vim-jp.org/vimdoc-ja/options.html#'paste'
set paste
に'expandtab' is resetの効力があるなんて知りませんでした。。。
neovimでも確認
vim8.0と同様.vimrcにset paste
を記載してあるとset expandtab
が効かないようです。set paste
は.vimrcから消しましょう。
結論
helpはちゃんと読もうということですね。
でもvim7.4ではなんで動いてたんだろう?