すこたのブログ

東方とかPC関連とか暗号通貨とか

VimでE325エラーが出た時の対処法

こんにちは。すこたです。

最近は雨がずっと降っていて何だか憂鬱になってしまいますね。

僕は雨があんまり好きではないので雨が降るとちょっとしたお出かけの用事はキャンセルしてしまいます。

なんか画期的な傘が開発されないかなあ。

VimでE325エラーが出た

今回お世話になった記事はこちらです。
ysklog.net


とあるファイルをvimで開こうと思ったら何かエラーが出た。

E325: ATTENTION
Found a swap file by the name "/Desktop/卒研/tensorflow/.sotsuken.py.swp"
          owned by: root   dated: Wed Oct  31 14:28:09 2018
         file name: /Desktop/卒研/tensorflow/sotsuken.py
          modified: no
         user name: root   host name: ○○○
        process ID: 74234
While opening file "/Desktop/卒研/tensorflow/sotsuken.py"
             dated: Wed Oct  31 14:32:51 2018
      NEWER than swap file!

(1) Another program may be editing the same file.
    If this is the case, be careful not to end up with two
    different instances of the same file when making changes.
    Quit, or continue with caution.

(2) An edit session for this file crashed.
    If this is the case, use ":recover" or "vim -r /Desktop/卒研/tensorflow/sotsuken.py"

    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file "/Desktop/卒研/tensorflow/.sotsuken.py
.swp"
    to avoid this message..
-- More --

何これ、なんかATTENTIONとか書いてるからやばいのかな。

でも調べたらそうでもなさそう。

まずはエラーの内容を読んでいきましょう。

(1)の内容は

別のプログラムが同じファイルを編集しているかもしれません。
この場合、変更を加える際には同じファイルの異なる2つのインスタンスが生成されることに注意してください。
終了するか、注意して続行してください。

(2)の内容は

このファイルは編集中にクラッシュしました。
この場合、「:recover」もしくは「vim -r/Desktop/卒研/tensorflow/sotsuken.py」でリカバリーできます(「:help recovery」でヘルプを参照すること)。
なお、既にリカバリーを行ったのであれば、SWAPファイルである「/Desktop/卒研/tensorflow/.sotsuken.py.swp」を削除すればこのエラーメッセージはなくなります。

ということになります。

つまりは同じファイル開いてるクラッシュしちゃったからリカバリーしてswpファイルを消せば大丈夫ということですね。

やったこと

まずは簡単そうな(1)から見てみましょう。

ターミナル開いたまま数日経ってて当該ファイルを開いたこと忘れてるなんて(僕は)よくあるので…。

Mac使ってるので4本指スワイプ⌘+tabで確認したりしましたが該当ファイルを開いている様子はありませんでした。

では(2)です。

まずは指示通り一旦リカバリーしましょう。

僕はvimを開いて「:recover」をしました。

リカバリーが済んだら元ファイルがあるディレクトリに隠しファイルとしてswpファイルがあるので「ls -a」コマンドで確認したら「rm」コマンドで消してしまいましょう。

$ ls -a

.		..		.python-version	btceth.py	sotsuken.py	sotsuken_BTC.py	stkn2.py .sotsuken.py.swp

$ rm .sotsuken.py.swp

rm:remove regular file `.sotsuken.py.swp'? y

ファイル名適当なのがバレてしまう…。

これで正しく開けるようになるはずです。