最も単純なバージョンは~/.vim/undo-dir/
次のとおりです。ディレクトリを作成し、以下を以下に追加します.vimrc
。
set undodir=~/.vim/undo-dir
set undofile
しかし、それは完璧ではないので、読み進めることをお勧めします。私自身から.vimrc
:
" Let's save undo info!
if !isdirectory($HOME."/.vim")
call mkdir($HOME."/.vim", "", 0770)
endif
if !isdirectory($HOME."/.vim/undo-dir")
call mkdir($HOME."/.vim/undo-dir", "", 0700)
endif
set undodir=~/.vim/undo-dir
set undofile
ランダムなディレクトリを元に戻すファイルで乱雑にしないことを好みます。そこで、undodir
オプションを設定します。このオプションは、すべてを1つの取り消しディレクトリに入れます。それは1つの問題を残します。私は怠け者であり、すべてのマシンでそのディレクトリを作成する気はありません(バージョン管理システムを使用して、マシン.vimrc
間で同期します)。ありがたいことに、ディレクトリが存在しない場合はVimでディレクトリをチェックして作成するのは簡単です。
0700
元に戻すディレクトリのモードにも注意してください(所有者には完全な権限であり、他の人には権限がありません)。編集したファイル、いつ、などを非公開にする必要があります。そして、これは私だけがアクセスできるディレクトリであるため、他の誰かがそこにシンボリックリンクを置くことを心配する必要はありません。
最後に、システムの一時ディレクトリではなく、システムの一時ファイルのクリーンアップポリシーの対象ではありません。多くの場合、それは1週間ほどでかなり短いです。しかし、永久に成長しないようにするために、以下に以下を追加しますcrontab
。
# m h dom mon dow command
43 00 * * 3 find /home/anthony/.vim/undo-dir -type f -mtime +90 -delete
したがって、90日間変更されていない場合、それらは削除されます。(正直なところ、それらはそれほど大きくはないので、ディスクがどれだけ安いかを簡単に永久に残すことができます。しかし、マシンが危険にさらされた場合は、自分のプライバシーも考慮してください。)