皆さんはVimを使っている最中、予期しないエラーやクラッシュで突然ファイルを失った経験はありますか?そんな時でもVimが生成するSWAPファイルがあれば、編集途中のファイルを復元することが可能です。しかし、このSWAPファイル、適切に管理しないと邪魔に感じることもしばしば。今回は、そんなVimのSWAPファイルの復元と削除方法について、わかりやすく解説します。
VimのSWAPファイルとは
まず、SWAPファイルについて理解するところから始めましょう。Vimは、編集中のファイルのデータを一時的に保存するSWAPファイルを作成します。Vimが予期せぬ終了をした場合でも、このSWAPファイルを利用することで作業の再開が可能になるのです。
SWAPファイルの場所
一般的に、Vimは編集中のファイルと同じディレクトリにSWAPファイルを作成します。ファイル名は、元のファイル名の前に”.”、後ろに”.swp”が追加されます。例えば、”main.txt”というファイルを編集中であれば、”.main.txt.swp”というSWAPファイルが生成されます。
VimのSWAPファイルの復元方法
それでは、SWAPファイルの復元方法について見ていきましょう。
- ファイルを開く: VimがSWAPファイルが存在することを検知すると、自動的に通知を行います。そのため、編集途中のファイルを開くことから始めます。
- 復元を選択: VimがSWAPファイルを検知したときには、「[R]ecover」というオプションを選択することでファイルの復元が可能です。
以下はその例です。(英語版)
E325: ATTENTION
Found a swap file by the name ".main.txt.swp"
dated: Sat Jun 19 23:50:07 2023
file name: ~user/main.txt
modified: YES
user name: user host name: localhost
process ID: 12939
While opening file "main.txt"
dated: Sat Jun 19 23:49:50 2023
(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 main.txt"
to recover the changes (see ":help recovery").
If you did this already, delete the swap file ".main.txt.swp"
to avoid this message.
Swap file ".main.txt.swp" already exists!
[R]ecover, [Q]uit, [D]elete, [A]bort:
上記のメッセージが表示されたら、「R」キーを押して復元を選択します。
VimのSWAPファイルの削除方法
次に、SWAPファイルの削除方法を見ていきましょう。
- SWAPファイルの場所を確認: 上述したように、SWAPファイルは一般的に編集中のファイルと同じディレクトリに存在します。
- SWAPファイルを削除: 一般的なファイルの削除と同様に、SWAPファイルを削除することができます。以下はその例です。
$ rm .main.txt.swp
ただし、削除する前に、SWAPファイルが必要ないか、本当に削除しても大丈夫なのかをよく考えてから行ってください。
関連動画
まとめ
VimのSWAPファイルは、Vimが予期せぬ終了をした際に編集途中の内容を復元するために非常に重要な役割を果たします。しかし、不要になったSWAPファイルは整理して削除することが望ましいです。この記事を通じて、VimのSWAPファイルの復元・削除方法が理解できたことと思います。これらの情報を活用して、より快適なVimライフを送りましょう。
vimの練習
下記のSTARTボタンをクリックするとvimのコマンドの練習ができます。ここで繰り返しvimでの操作の練習をしてスムーズに使いこなせるようになりましょう。
※推奨ブラウザ Google Chrome