「zshでsource .vimrc」を対応するvimrcにする。

以前、素で以下の記事のsourceコマンドがVimのコマンドかと思ってリプライを返してしまったことがある。

なので、どうにかしてzsh上でのsource .vimrcを防げないかなっと考えた結果、以下の1行をvimrcの先頭で書いて置けばよいことがわかった。

"return" 2>&- || "exit"

この先頭のダブルクォートがキモで、Vim script上ではコメント扱いになり、zshbash上ではコマンドとして正常終了するという仕組みである。便利!

ちなみに、なぜわざわざreturnとexitをしているかというと、returnのみだと終了コードがエラーで終わってしまい、exitだと端末自体が終了してしまうため、これらの問題を対処した結果このようなコードとなっています。