unite-session が便利

unite-sessionはVimプラグインUniteに標準で付いてくるUniteのソースです.

Uniteのインストールなど詳しくはこちら.
Shougo/unite.vim · GitHub

unite-sessionは現在のVimの状態(セッション)を保存しておくことのできるUniteソースです.
試しにVimを立ち上げ,適当に作業をしてから

:UniteSessionSave

と入力してみてください.
その後,一度Vimを閉じて,再度Vimを立ち上げ,

:UniteSessionLoad

を実行してみてください.
閉じる前の状態が復元されているのが分かると思います.

:UniteSessionSave {セッション名}
:UniteSessionLoad {セッション名}

のように自分で名前を付けて管理することもできます.
また,

:Unite session

として,保存してあるセッションの一覧を表示することもできます.
セッション名を指定しない場合はデフォルトの値が使われ,同じセッション名のセッションは上書き保存されます.
また,:Unite sessionで項目を選択してdをタイプするとセッションを削除することもできます.

次のように.vimrcで設定することで,Vimでファイルを保存したときに自動でセッション保存,Vimを開いたときに自動でセッションを開くということができます.
今のSafariのような挙動です.

" Uniteセッション
" セッションを自動で保存
let g:unite_source_session_enable_auto_save = 1
" セッションを自動で読み込み
autocmd VimEnter * UniteSessionLoad

VimEnter時に読み込むため若干の読み込み時間が発生しますが,Vimをずっと開いて使うタイプの人には,再起動などが入ってもすぐに復元できて便利だと思います.

詳しくは

:help unite

をご覧下さい.


ここまでする必要は無いけれど,前の編集履歴程度は残しておきたいと思った方は,Vim7.3以降ならこちらの記事も参考になるかもしれません.
Vim-users.jp - Hack #162: Vimを終了しても undo 履歴を復元する