Vimが変なファイルを作るようになった

+kaoriya版として配布しているVimでは デフォルトで undofile がオンになった関係で ファイルの保存時に変な名前のファイルが作成されるようになりました。 その解説をします。

うちで配布している Vim は 7.4.227 から、デフォルトで undofile がオンの状態で配布されるようになりました。そのためデフォルトではファイルを保存した時に同時に.{ファイル名}.un~ を undo ファイルを作成します。この undo ファイルにより Vim は undo の情報をセッションを越えて保持できます。

しかしいきなりゴミのような名前のファイルが生成され、普通のユーザは驚くことでしょう。かく言う私も驚きました。っていうかそのまま間違えてレポジトリに commit しちゃいました。それでは困りますので、無効化する設定などを紹介しておきます。

完全に無効化する

こう設定してください。

:set noundofile

必要に応じて ~/_vimrc (もしくは ~/.vimrc) に書きましょう。これだけで完全に undofile は無効化され、.un~ ファイルはもう作られません。

一箇所にまとめる

ただせっかくある機能を止めてしまうのももったいない、ということであればこんな風に設定してもよいでしょう。

:set undodir=D:/home/koron/var/vim/undo

undodir オプションを使ってすべての undo ファイルを1箇所に出力するようにしてみました。出力先ディレクトリは各自で変更してください。

無視設定を追加する

たとえば git であれば .gitignore に次のような一行を足すことで undo ファイルを無視できます。

.*.un~

Vim を使っているのであればスワップファイルについても無視しているでしょうから、ついでに足しとくと良いですね。


ってな感じで undo ファイルと上手く付き合うようにしてあげてください。

ところで…

.un~ ってまるで「うん○」だな

って思ったのは私だけでしょうか。