web-dev-qa-db-ja.com

vimが一時ファイルを作成(および削除)するのを防ぐ方法は?

なぜvimは<filename>~ファイルを作成するのですか?それを無効にする方法はありますか?

バックアップ用(または何か)の場合は、そのためにgitを使用します。

また、これらの.<filename.with.path.hints>.swpファイルも。

それらを作成しないように、または少なくともそれ自体をクリーンアップするようにvimに指示するにはどうすればよいですか?

編集

おっと、複製:

なぜVimは〜拡張子のファイルを保存するのですか?

そこから rogeriopvlの答え を採用しました。

逐語的コピー:

set nobackup       "no backup files
set nowritebackup  "only in case you don't want a backup file while editing
set noswapfile     "no swap files
154
hasen

Vimがクラッシュした場合に備えて、スワップファイルを引き続き使用することを強くお勧めします。

スワップファイルが保存されるディレクトリを設定して、通常のディレクトリが乱雑にならないようにすることができます。

set swapfile
set dir=~/tmp

こちらもご覧ください

:help swap-file
68
user55400

これを.vimrc構成ファイルに入れます。

set nobackup
54
Chad Birch

; Windowsユーザーが一時ディレクトリに戻る場合

set backup
set backupdir=C:\WINDOWS\Temp
set backupskip=C:\WINDOWS\Temp\*
set directory=C:\WINDOWS\Temp
set writebackup
30
Sooraj

バッファに保存されていない変更が含まれている場合にのみスワップファイルを有効にする「noswapsuck」というプラグインを作成しました。変更が保存されると、スワップファイルは消去されます。したがって、ディスク上のファイルと同じコンテンツを含むスワップファイルは削除されます。

ここで入手: noswapsuck.vim

私にとってはうまく機能していますが、以前に公表したことがないので、フィードバックを歓迎します。

利点:

  • ディスクに残るスワップファイルは、実際にファイルとは異なる重要なスワップファイルのみです!

短所:

  • バッファにスワップファイルがある場合、ファイルが最初に開かれたときに検出されません。 swapfileが有効になっているとき、つまりバッファの編集を開始したときにのみ検出されます。それは迷惑なほど遅く、あなたを中断します。 (解決済み:一時的にswapfileオプションを再度オンにすることにより、バッファが開かれたときに既存のスワップファイルをチェックするようになりました。)

  • ディスク書き込みを最小限に抑えたい環境(低電力、ネットワーク経由でマウントされたファイル、巨大なファイルの編集など)で作業している場合、毎回スワップファイルを削除して再作成し続けるのは理想的ではありません。保存して編集します。そのような状況では、次のことができます。

    :let g:NoSwapSuck_CloseSwapfileOnWrite = 0
    

    これにより、書き込み後にスワップファイルが保持されますが、バッファがフォーカスを失うとスワップファイルが削除されます。

ちなみに、別の小さなプラグイン :DiffAgainstFileOnDisk があります。これは(r)ecoverを押した後、回復したバッファーが既存のファイルよりも新しいか古いか、またはそれと同じかどうかを確認するのに役立ちます。

10
joeytwiddle

Windowsでは、_vimrcに次の行を追加します

" store backup, undo, and swap files in temp directory
set directory=$HOME/temp//
set backupdir=$HOME/temp//
set undodir=$HOME/temp//
7
Vlad Bezden

この回答は、Windows 10でgVimを使用する場合に適用されます。他のオペレーティングシステムでも同じ結果を保証できません。

追加:

set nobackup
set noswapfile
set noundofile

_vimrcファイルに。

注:これは質問に対する直接の回答(Windows 10の場合)であり、おそらく最も安全なことではありません(他の回答をお読みください)が、これは私の場合の最速の解決策です。

5
wlwl2