Vimのセッション管理

Vimのセッションとは

Vimmerの中でもセッションを使っていないもしくは知らないという方は多いと思います。セッションとは開いていたウィンドウと設定を保存しておき、後でセッションを復元することで保存した時のウィンドウレイアウトなどの状況を即座に再現出来る機能です。

セッションという言葉の割にシンプルで便利な機能なので今回Vimのセッション管理についてまとめたいと思います。

Vimのセッションを使ってみる

まずは普段の作業さながらに複数のファイル、複数のウィンドウを開いてみて下さい。そうしたら下記のExコマンドを実行して下さい。

:mksession ~/session.vim

※もしくは
:mks ~/session.vim

次に、一度Vimを終了してから下記のコマンドを実行して下さい。

$ vim -S ~/session.vim

※もしくはvimを立ち上げてから
:source ~/session.vim

使い方はこれだけです。一コマンドでセッションの保存や再開が出来ます。

プラグイン

セッション系のプラグインもいくつか存在しているようです。スターの数も安定しています。

fzfと組み合わせる

自分は先述のプラグインを入れずに、fzfと組み合わせてファジーファインダーでセッションを探せるようにだけしています。.zshrcに下記のコードを記述します。

fvis() {
  local file
  file=$(find ~/.vim/sessions | fzf)
  vi -S "$file"
}

fvisと入力すると~/.vim/sessionsディレクトリに保存したセッションファイル群からfzfで曖昧検索してセッションを開けるようになったかと思います。

バッファ管理

Vimセッションを使うようになると分るのですが、結構起動に重さを感じるかと思います。探索するファイルが増えるほど時間が増加していきます。そのためセッションを保存する際に不要なバッファは消した方が良いです。

:bd [0-9]指定した番号のバッファを削除
:[0-9],[0-9]bd指定した範囲の番号のバッファを削除
:bd [range]指定した範囲のバッファを削除

終わりに

セッションを使う前までは作業を中断して家に帰る時などに、編集した一連のファイルを保存・終了してからVimを落としていました。そして作業再開する時にはまた一々ファイルを開くという面倒な工程を当たり前のように行っていました。

Vimは奥が深いので今回のセッションみたいに見過ごしている機能が多くあります。いくらVimGolfをやっても毎回学びがあるくらいです。今年でVimも30周年を迎えたそうですがその歴史の分だけ機能があるということなのでしょうか。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA