Help us understand the problem. What is going on with this article?

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

More than 5 years have passed since last update.

背景

コメントアウトされている行から改行を行うと、挿入モードからでもノーマルモードからでも、新しい行をコメントアウトしてくれる機能が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が設定されるようになりました!

めでたしめでたし。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした