回答:
スワップファイルには、バッファに加えた変更が保存されます。Vimまたはコンピューターがクラッシュした場合、これらの変更を回復できます。
スワップファイルは、Vimの複数のインスタンスが同じファイルを編集することを回避する方法も提供します。これは、マルチユーザーシステムで便利な場合や、既にファイルを編集している別のVimがあるかどうかを知る場合に役立ちます。
スワップファイルの作成を完全に無効にする場合(推奨しません)、に追加できset noswapfile
ます.vimrc
。これにより、オプションのグローバル値が設定されます。次に、:setlocal swapfile
Vimの実行中にを使用して、特定のバッファーに対してそれをオーバーライドできます。
問題がファイルシステム全体に広がる余分なファイルに関するものであれば、すべてのスワップファイルを1か所に集約することができます。たとえば、~/.vim/tmp
ディレクトリを作成してから追加します
set directory^=$HOME/.vim/tmp//
に.vimrc
。この'directory'
オプションには、Vimがスワップファイルの試行と保存に使用するディレクトリのリストが含まれています。
^=
構文:set
前に付加リストの先頭にディレクトリ名を、そうVimは最初にそのディレクトリをチェックします。
//
ディレクトリ名の末尾には、異なるディレクトリから同じ名前のファイル間の衝突がないので、スワップファイルを作成するには、ファイルへの絶対パスを使用するようにVimを伝えます。
これにより、同じファイルを編集しようとする複数のユーザーがいるときにVimが気付かないように注意してください。スワップファイルは元のファイルと同じディレクトリにないため、他のユーザーのVimはスワップファイルを認識せず、既に編集されていることを警告しません。
vim-auto-save
。これはスワップファイルの必要性を非難しませんか?
vim temp.txt --some-command-that-disable-swap
?私のユースケースでは、一部のウォッチャーがディレクトリの変更を監視し続けるため、そのときまでにスワップを無効にして衝突を防止したいと考えています。
noswapfile
は以下に提案するように使用してみました。結局のところ、私は最終的にはそれをやめて、それをやめました。なぜなら、明らかに利点が面倒さを上回っているからです。おそらくコンピューターがクラッシュし、失われたファイルを復元することができませんでした。これは、スワップファイルを有効にすると簡単だったでしょう。