Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

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

$
0
0

背景

コメントアウトされている行から改行を行うと、挿入モードからでもノーマルモードからでも、新しい行をコメントアウトしてくれる機能が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-=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内に以下を記述。

auFileType * setlocalformatoptions-=ro

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

めでたしめでたし。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>