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
ファイル名適当なのがバレてしまう…。
これで正しく開けるようになるはずです。