tmuxで指定したwindow/paneから始める方法 [再起動も安心]を説明したが、Vimのセッション情報もタブを含めてRestoreしたい。 最初は全て自動で保存しようとしたが、必要に応じて自分でセッションを保存した方が実用的。ブラウザのタブのように、使わないタブが残ってしまい必要のないタブが溜まっていってしまう。
vimはデフォルトでセッションの管理が可能だが、細かいところまで残すにはvim-sessionを使った方が良い。
.vimrc
" session call dein#add('xolox/vim-misc') call dein#add('xolox/vim-session') let g:session_autosave = 'no' let g:session_autoload = 'no' nnoremap <Leader>ss :SaveSession
SaveSessionとタイプするのが面倒なのでノーマルモードで\ss
でSaveSessionを呼び出す。
例えば、セッションをProject毎に保存する場合は、引数のセッション名にプロジェクト名を指定することでプロジェクトごとのセッションの作成が可能。
: SaveSession <session name>
で.vim/sessions/<session name>.vim
に保存されるのでこれをvimの引数として呼び出せばよい。
$ vim -S /home/shohey1226/.vim/sessions/gauss.vim
実際は、tmuxの起動スクリプトに書いておけば良い。
tmux send-keys -t $session:1 "cd ~/git/Gauss; vim -S $HOME/.vim/sessions/gauss.vim" C-m