LoginSignup
95
75

More than 5 years have passed since last update.

Vimで改行時の自動コメントアウトを無効化

Posted at

背景

コメントアウトされている行から改行を行うと、挿入モードからでもノーマルモードからでも、新しい行をコメントアウトしてくれる機能がVimにはついています。なんという優しさ。

しかし、個人的には鬱陶しい……よし、消し去ろう!

既存手法

インターネットの海を彷徨った結果、formatoptions-=orをすれば良いということはわかったのですが、どうにもうまくいきません。

当然のごとく、全く同じ悩みを抱えていた方がいました。

vim で改行での自動コメントアウトを無効にする

検索して多く見つかった方法ですけど、最初 ~/.vimrc に以下のように書いたのですが上手く行きません。

set formatoptions-=ro

または、

autocmd FileType * setlocal formatoptions-=ro

どちらも上手くいかないので、さらにググりまくる。どうやら、作業中のカレントディレクトリの .vimrc に上記を書く方法もあるようです。まあカレントディレクトリに書けばできそうですけど、毎回は面倒くさいので他の方法を探すことに。

そう、全然うまくいかないんですよ!プラグインが悪さしてる気はしますが、とにかくうまくいかないんですよ!

~/.vim/after 内に以下のとおりファイルを作成します。

$ mkdir -p ~/.vim/after/ftplugin/
$ vi ~/.vim/after/ftplugin/ruby.vim
" 改行で自動コメントアウトを無効にする
setlocal formatoptions-=r
setlocal formatoptions-=o

ftplugin/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内に以下を記述。

au FileType * setlocal formatoptions-=ro

これで無事、どのファイルを開いてもformatoptions-=roが設定されるようになりました!

めでたしめでたし。

95
75
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
95
75