質問: atomやNotepad++などは、前回終了時のタブ(のみためで、ファイル・バッファ)を自動で開く機能があります。 このような振る舞いをvimで簡単に実現できる方法などありましたら教えてください。 ※実際には、特定のフォルダや起動方法のときだけでも大丈夫です。 仕事のメモ書きを手軽に実施したいという話題ですので auto-saveやsession等でうまくできないかも考えていますので、そのような運用をされている方がありましたら教えていただけると嬉しいです。 よろしくお願いします。
回答: Vim 標準の機能でやるならば、session がまさにその目的で使えます。 `:mksession {file}` で現在の状態をセッションファイルに保存できます。 保存されたファイルの実態は Vim script で、ロードすると状態を復元できます。`vim -S {file}` のように Vim を起動することで、状態を復元しつつ Vim を起動できます。 `'sessionoptions'` オプションでどの状態をセッションに保存するかをカスタマイズできます。詳細は `:help 'sessionoptions'` を見てみてください。 セーブとロードを自動で行いたい場合、`autocmd` の設定を vimrc に書くことで実現できると思います。以下はシンプルな設定の例です。(動作確認をしてません。うまく動かなかったらすいません) ``` augroup auto-session autocmd! autocmd VimEnter * if argc() == 0 | source ~/.session.vim | endif autocmd VimLeavePre * mksession ~/.session.vim augroup END ``` もうちょっと凝ったことがしたい場合、セッションの管理をサポートするプラグインなどはたくさんあるので、探してみるといいかもしれません。自動でセーブ/ロードするようなものもあると思います。 追記です。 すいません。タイトル部分を見落としていました。 セッションは開いていたファイルを再度開く機能なので、未保存のバッファは復元できません。 Vim で似たようなことをする場合、どこかにメモ用のファイルを用意するのが良いと思います。結局実ファイルが必要になってしまいますが、ATOM などにあるという機能も見えないだけで似たような形でどこかに保存していると思います。 一時メモを扱うプラグインなどもあるので、組み合わせると良いかと思います。