vimでコメントアウトが自動挿入されるのを止める

これ、普段はあまり気にしたことなかった・・。

vimでファイル編集している時に、コメント行で改行すると次の行もコメントアウトが自動で挿入されるんですが、
コメント行と改行を含むテキストを他のウィンドウから貼り付けるとコメント行以下が全部コメントになるんですねw

人のソースをコピペする時に、いちいち消したりするのが面倒なので設定を弄ってみました。

augroup hogehoge
  autocmd!
  autocmd FileType * setlocal fo=cq
augroup END

とりあえずこんな感じ。
以下、軽く解説的な物を。

augroup

augroupは、autocmdを発行する範囲を制限するやつ。てきとうに名前つけます。
(上ではhogehogeなんて、てきとうすぎる名前になってますが・・)

autocmd!

autocmd!で現在のgroupに対するすべてのautocmdを削除。

FileType

FileType * で、すべてのファイルが対象になります。

formatoptions(fo)

ここが今回のキモです。
foは、formatoptionsの省略形。
formatoptions=cqと書いても同じです。

perl.vimのDefaultは、formatoptions=crq
この r のオプションが改行時にコメント文(#)を挿入してるようです。
今回はこの処理を止めたいので、=cqとしました。

これで人のソースをコピペしまくれますね!!w

返信を残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください