vimエディタで発生するエラー「スワップファイルが見つかりました(E325: 注意)」が発生したときの原因と対処法や、スワップ(swap)ファイルとは何かについてわかりやすく解説します。
エラーの内容
- E325: 注意
- 次の名前でスワップファイルを見つけました “ファイルのパス.sw●”
スワップファイルとは?
- vimエディターで編集を開始すると、自動生成されるファイル。
- 拡張子.sw〇
- 〇にはアルファベットが入る。
- 同じファイルで複数回強制編集を続けると、k,l,m,n・・・・のように連番でファイルが作成されていく。
- 保存してから終了するとスワップファイルは消える。
- コマンド「:wq」
発生原因
- 編集内容を保存せず強制終了した場合に発生する。
- 別のエディタで既に立ち上げている時に発生する。
対処法
対処法はどのファイルを残すかによって分かれます。
- 元々あったファイルを残す(エラーの発生しているswapファイルを削除する)。
- 編集したい(残したい)swapファイルを選択する。
- swapファイルを一括削除する。
元々あったファイルを残す(エラーの発生しているswapファイルを削除する)
元々あったファイルを編集用として残す場合は、エラーが出ているswapファイルを削除していきます。
作業手順
1.エラー画面でファイルのディレクトリをコピーします。
2.「Enter + q」をクリックし、ターミナルに戻ります。
3.「rm ファイルパス」でswapファイルを削除します。
rm ~/desktop/.test.html.swp
これで、不要なswapファイルが削除できました。
4. vimで編集したいファイルを開く。
以上で完成です。
編集したいswapファイルを選択する
編集したいswapファイルを選択する場合は、エラーが発生している画面で以下を実行していきます。
1.「Enter + Enter + R」をクリックします。
enter2回で下記のような入力モードになります。
2.「r」を入力します。
開いているファイルに対応するswapファイルの一覧が表示されます。
3.一番下まで移動します。
「使用するスワップファイルの番号を入力してください(0 で終了):」が表示されます。
4.編集を開始したい番号を入力し、「」と表示されるまで、Enterを複数回クリックします。
5.コマンドモードで名前を付けて保存します。
:w ファイル名
└例::w ~/desktop/test-v2.html
└ enterで確定
└ 既にファイルが存在する場合はエラー
「:w! ファイル名」で強制上書きできます。
以上で完了です。
swapファイルを一括削除する
swapファイルを一括削除する方法もあります。
find . -name '.*.sw*'|xargs rm
- findコマンドと正規表現でスワップファイルに該当するものを検出します
- 該当ファイルに対しrmコマンドで削除を実行します。
|xargs とは?
コマンドA |xargs コマンドB
コマンドAの実行結果を引数にして、コマンドBを実行する処理です。