背景
コメントアウトされている行から改行を行うと、挿入モードからでもノーマルモードからでも、新しい行をコメントアウトしてくれる機能がVimにはついています。なんという優しさ。
しかし、個人的には鬱陶しい……よし、消し去ろう!
既存手法
インターネットの海を彷徨った結果、formatoptions-=or
をすれば良いということはわかったのですが、どうにもうまくいきません。
当然のごとく、全く同じ悩みを抱えていた方がいました。
vim で改行での自動コメントアウトを無効にする
検索して多く見つかった方法ですけど、最初 ~/.vimrc に以下のように書いたのですが上手く行きません。
setformatoptions-=roまたは、
autocmdFileType * setlocalformatoptions-=roどちらも上手くいかないので、さらにググりまくる。どうやら、作業中のカレントディレクトリの .vimrc に上記を書く方法もあるようです。まあカレントディレクトリに書けばできそうですけど、毎回は面倒くさいので他の方法を探すことに。
そう、全然うまくいかないんですよ!プラグインが悪さしてる気はしますが、とにかくうまくいかないんですよ!
~/.vim/after 内に以下のとおりファイルを作成します。
$ mkdir-p~/.vim/after/ftplugin/ $ vi~/.vim/after/ftplugin/ruby.vim" 改行で自動コメントアウトを無効にするsetlocalformatoptions-=rsetlocalformatoptions-=oftplugin/ruby.vim の部分は、目的のファイルタイプに応じて修正します。Perl を使う場合だったら、ftplugin/perl.vim とか。
試してみたら見事にできました。
が、しかし!
これだと指定したファイルタイプのものしか設定できません。各ファイルタイプごとにいちいち設定するなんて嫌だ!面倒臭すぎる!
というわけで試行錯誤した結果、なんとかなりました。
提案手法
まず、~/.vim/after
内に以下のようにplugin
ディレクトリとcommon-settings.vim
ファイルを作成。.vim
ファイルの名前はなんでも大丈夫ですが、なんのファイルかわかりやすいような名前にしておきました。
$ mkdir ~/.vim/after/plugin
$ touch ~/.vim/after/plugin/common-settings.vim
そして、作ったcommon-settings.vim
内に以下を記述。
auFileType * setlocalformatoptions-=ro
これで無事、どのファイルを開いてもformatoptions-=ro
が設定されるようになりました!
めでたしめでたし。