web-dev-qa-db-ja.com

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

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

9
dzm

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

16
quanticle

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

  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は別のケースです。

5
kaji

編集中のファイルの名前がhttpd.confの場合、スワップファイルの名前は.httpd.conf.swpになります。 ls引数に-aを追加しない限り、非表示になります。

ls -a /etc/httpd/conf/
1
tylerl

Linuxでスワップファイルを削除するには、次のコマンドを使用します

rm .filename.swp
1
amareswar reddy

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

rm -f /path/to/the/file
0
d_ethier