$home/vimfiles/ftplugin/ruby.vim の設定が反映されない
普段はインデント・tabキー押し、両方で幅 4のタブを挿入しているが、ruby の世界ではインデントはスペース 2つで表すのがスタンダードのようなので、$home/vimfiles/ftplugin/ruby.vim に設定を書く。
"インデント・タブ関連 setlocal shiftwidth=2 softtabstop=2 "tab to spaces setlocal expandtab
今までに書いた *.rb ファイルを開いて、設定が反映されているか :set で確かめてみたところ、全てのオプションに変化がなかった。
スクリプト内に
echo 'foo'
を書き込むと実行されるので、スクリプトが読み込まれてないわけではないようだ。$home/vimfiles/after/ftplugin/ に当該スクリプトファイルを入れても結果は同じ。
原因は $home/_vimrc 内の以下の記述。
" folding 保存 set viewdir=$home/vimfiles/view au BufWritePost * mkview au BufReadPost * loadview
この設定をする事によって、折りたたみの状態を保存する事ができるのだが、同時にカーソルの位置や:set, :setl で設定したオプションも保存されてしまう。結果、既存のファイルを開くと filetypeplugin の設定を上書きしてしまい、設定が反映されていないように見える。
解決策
- 既存のファイルを開いたときは手打ちで :set filetype=ruby としてもう一度設定を読み込ませる。
- $home/vimfiles/view/ 内のファイルを消去。
また同じ失敗を繰り返しそうなので、_vimrc を以下のように変更して、オプションの変更は保存しないようにした。不便なら元に戻す。
" folding 保存 set viewoptions=folds,cursor set viewdir=$home/vimfiles/view au BufWritePost * mkview au BufReadPost * loadview