WEBサービス創造記

WEBサービスを作ったり保守したりしてる人のメモブログです。

Vimのセッションを自動的に保存/復元する

      2012/12/20

セッションの保持

Vimでは簡単なコマンドを打つだけでセッションの保存や復元ができます。
セッションを保存しておくと、次にVimを起動した際に、Vim終了時に開いていたファイルやカーソルの位置などの編集環境を復元できます。

セッションの保存

セッションの保存は次のコマンドで行います。

:mksession 

このコマンドで対象のファイルにセッションの情報を保存することができます。
また、次のような略式でも同様にセッションが保存できます。

:mks 

セッションの復元

保存したセッションの復元は次のコマンドで行います。

:source 

下記のようなオプションをつけてVimを起動してもセッションを復元することができます。

vim -S  

セッションの保存と復元の自動化

コマンドひとつでセッションの保存や復元ができるとはいえ、毎回Vimの起動時や終了時に手動でコマンドを打つのは面倒です。
そこで、設定ファイルに以下のように記述してセッションの保持を自動化することにします。

" Vim起動時に前回のセッションを復元する
source
" Vim終了時に現在のセッションを保存する
au VimLeave * mks! < file>

セッションの保存はオートコマンドで行っています。
単にmks という形で実行しても、セッションがうまくファイルに保存されなかったため、!をつけて強制的にファイルの上書きを行っています。

 - Vim , ,