1. ホーム

[解決済み】なぜVimはファイルを~の拡張子で保存するのですか?

2022-04-12 13:28:03

質問

WindowsでVimを使用していると、Vimがファイルを保存する際に .ext.swp Vim ウィンドウを閉じたときに削除されるファイルや .ext~ ファイルを作成します。

を想定しています。 .ext.swp ファイルは、Vim がクラッシュしたときのためのセッションのバックアップです。の目的は何ですか? .ext~ のようなものでしょうか?これは永久的なバックアップファイルなのでしょうか?私が作業しているすべてのファイルを、これらの重複なしに私のホストにコピーしたいので、それは迷惑なことです。 この機能をオフにするにはどうすればよいですか? 正当な理由があるのであれば、教えてください。 ファイルを非表示にする ?

解決方法は?

その *.ext~ ファイルはバックアップファイルであり、編集前のファイルが格納されています。

は、その *.ext.swp このファイルはロックファイルとして機能し、アンドゥ/リドゥの履歴やその他 Vim が必要とする内部情報を含んでいます。クラッシュした場合、ファイルを再び開くと、Vim はスワップファイルから以前の状態を復元します (これは便利なので、私はスイッチを切っていません)。

バックアップファイルの自動作成をオフにするには、(vimrc に)記述してください。

set nobackup
set nowritebackup

ここで nowritebackup は、Vimのデフォルトの"save"の動作を変更します。

  1. 新しいファイルにバッファを書き込む
  2. 元ファイルの削除
  3. 新しいファイルの名前を変更する

で、Vimにバッファを元のファイルに書き込ませる(結果的にI/Oエラーの場合に破壊される危険性がある)。しかし、これによって Windows のデスクトップ上で "jumping files" を防ぐことができ、これが私が nowritebackup を設置しました。