vimでApache構成ファイルを編集するときに「スワップファイルxxxはすでに存在します」?


9

vimを使用すると、Apache構成を編集しているときに「スワップファイルxxxは既に存在します」というメッセージが表示され続けます。ただし、tmpの作業ディレクトリには表示されません。これを削除するにはどうすればよいですか?

回答:


16

Vimのスワップファイルは通常隠されています(Unixの隠しファイルはで始まります.)。隠しファイルだけでなく通常のファイルも表示するには、ls -A(ニーモニック:A for All)が必要です。スワップファイルが存在するかどうかが表示されます。


5

これは、編集しようとしていたファイルがディスクに完全に保存されていない場合にのみ発生します。シナリオは次のとおりです。

  1. vi / vimでファイルがまだ開いているときに、システムを不適切にシャットダウンした。

  2. viの異なる/同じコンソールを介してファイルに同時にアクセスしているとき。

vi / vimは、ファイルがvi / vimで開かれるたびに.swpファイルを作成します。vi / vimでファイルが開かれるたびに、vi / vimはこのファイルをチェックし、見つかるとこの警告がポップアップします

これは2つの方法で回避できます

  1. 次の名前の.swpファイルを削除して

「path / of / the / file / you / were / editing / .your_file_name.swp」

  1. ファイルを開いてリカバリオプションを押すときに、vi / vimのリカバリモードを選択することもできます。

私は最初のシナリオについて話しているだけで、そのシナリオだけに安全です。シナリオ2は別のケースです。


保存されていない変更がある場合は、vi -r(または必要にvim -r応じて)を使用してそれらを回復できます。私は通常、回復したファイルを一時ファイルに書き込みdiff、メインファイルに対して書き込みます。(私は、情報を失わないように回復することを完全に信頼していません。)
キース・トンプソン

1

編集中のファイルが呼び出されるとhttpd.conf、スワップファイルが呼び出され.httpd.conf.swpます。引数に追加-aしない限り、非表示になりますls

ls -a /etc/httpd/conf/


0

メッセージには、ファイルへのフルパスが表示されます。次のようにパスをコピーして貼り付けることで、rmできます。

rm -f /path/to/the/file
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.