vi compatibleオプションがONでも問題なく動作させる
作者: 小見 拓
—
最終変更
2012年01月08日 12時14分
vi compatibleオプションがONでも問題なく動作させる
ユーザのvimエディタ環境のcompatibleオプションがONになっている場合、
vim特有の機能を利用したスクリプトは動作しない可能性がある。
そこで、次のようにユーザのオプションを一度ローカル変数に逃がして、
後でユーザの設定を戻してあげると、トラブルの種をつぶせる。
" ユーザの設定を変数に逃がす :let s:save_cpo = &cpo :set cpo&vim " ↓スクリプトの処理実行後 " ユーザの設定を元に戻す :let &cpo = s:save_cpo
スクリプトで必要となる、他の処理も入れた最終的な形は、 次のようになる。
:if exists("g:loaded_hello") :finish :endif :let g:loaded_hello = 1 :let s:save_cpo = &cpo :set cpo&vim :function Hello() :echo "Hello World" :endfunction :command Hello :call Hello() :let &cpo = s:save_cpo