Hot exitは、Sublime Textエディターのキラー機能の1つです。開いているファイルの変更を気にすることなく、いつでもエディターを閉じることができます。問題なく閉じるだけです。もう一度STを起動すると、開いて編集したすべてのファイルは、閉じる前と同じ状態になります
vimで同じことをする方法はありますか?
Hot exitは、Sublime Textエディターのキラー機能の1つです。開いているファイルの変更を気にすることなく、いつでもエディターを閉じることができます。問題なく閉じるだけです。もう一度STを起動すると、開いて編集したすべてのファイルは、閉じる前と同じ状態になります
vimで同じことをする方法はありますか?
回答:
Vimはこれを行うことができますが、少し不格好でいくつかの設定が必要になる場合があります。
romainlは、途中であなたを取得しますsession
。不足しているビットは、スワップファイル、、:preserve
およびの&
フラグですcpoptions
。
スワップファイルは、Vimまたはシステムがクラッシュした場合の回復を目的としています。保存されていない変更を復元できます(いくつかの制限があります:he swap-file
。を参照)。ただし、Vimが正常に終了すると、バッファーに変更が保存されていなくても、使用していたすべてのスワップファイルが削除されます。
ここが:preserve
and cpoptions
の&
出番です:preserve
。Vimはすべてのバッファをスワップファイルにすぐに書き込むように強制します(4秒後や200文字後の標準、またはオプションで設定されているものとは異なります)。こうすることで:set cpoptions+=&
、Vimが正常に終了したときに保存されたスワップファイルを削除しないように指示し:preserve
ます。
残念ながら、Vimはスワップファイルからの回復時にスワップファイルを自動的にクリーンアップしないため、すぐに次のようなディレクトリができます。
.foo.txt.swn
.foo.txt.swo
.foo.txt.swp
foo.txt
古い*.swp
ファイルは手動で削除できますが、Vimは新しいスワップファイルを配置するファイルがある場合にのみ、自動的に回復を提案します。この:recover
コマンドにより、Vimは回復するスワップファイルを検索します。
自動コマンドを使用すると、保存(おそらくQuitPre
イベントを使用)と回復(おそらくBufRead
またはを使用BufReadPost
)を自動化できます。Recover.vimは、回復を管理するためのより使いやすい代替手段として機能するプラグインです。スワップファイルのクリーンアップも処理するようです。私はそれがファイルの.swo
ないディレクトリをどのように処理するのかわかりません.swp
。:recover
その場合はまだ使用する必要があるかもしれません。
vim-obsessionは、セッションの処理をはるかに容易にすることを主張する別のプラグインです。
はい。これは「セッション」と呼ばれ、次の場所ですべてについて読むことができます。
:help session