Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

【Vim × tmux】アプデによる再起動も怖くない! セッションの保存・復元を実現する

$
0
0

Vim,tmuxでのセッション保存・復元

TL;DR

  • tmux-plugins/tmux-resurrectはtmuxのセッションを保存・復元するためのtmux plugin.
  • tpope/vim-obsessionはVimのセッションを保存・復元するためのVim plugin.
  • prefix C-sでセッション保存,prefix C-rでセッション復元.

About

tmuxはターミナル使いとしては必須のツールなんですが、PC毎再起動した時に元に戻すのが面倒だと思っていた。
tmuxinator使えよ、という話もあるのだが、あれ設定が若干面倒なのと設定した状態に戻す事しか出来ないんで、再起動の時に元の状態に戻る訳じゃない。

(小ネタ) tmuxのセッション状態を保存・復元できるtmux-resurectを使おう! - Qiita

OSのアプデとかで再起動を強要されることも多々あるのでこういうの欲しいと思ってた.
僕は稼働中のプロジェクトごとにiTermのタブ作ってtmuxのセッションを立てているので,再起動するとそれを全部起動して回るのが非常につらい.
tmux-resurrectがあればそんな苦しみからも開放される.
起動中のプログラムなども保存できるし,vim-obsessionと連携させればVimのセッションも保存・復元可能になる.
これらのプラグインによって僕のようにQOLがめっちゃ向上する人もたくさんいそうな気がするので設定とかをここで共有しておく(元記事に被せるような形になっちゃってるのはすみません…).

みんなもtmuxとVimで論文書こう.

Configuration

tmux側

tmux-resurrectをインストールする.
.tmux.confに追記するだけ(tpmの利用推奨,参考: 【tmux】tpmでplugin管理 - Qiita).

.tmux.conf
set -g @tpm_plugins '              \  tmux-plugins/tpm                 \  tmux-plugins/tmux-resurrect      \'set -g @resurrect-strategy-vim 'session'set -g @resurrect-processes 'irb pry "~rails server" "~rails console"'

run-shell '~/.tmux/plugins/tpm/tpm'

prefix + Iでインストールされる.

  • tpm_plugins : 利用するプラグインのリスト(GitHubのrepo)
  • @resurrect-strategy-vim : がVimのセッションを読み出す設定
  • @resurrect-processes : 復活させるプロセスの設定(参考: Configuration - Tmux Resurrect).

Vim側

vim-obsessionをインストールするだけ.

.vimrc
NeoBundle 'tpope/vim-obsession'

Usage

  • Vim
    • :mksession(もしくは:mksession!)でセッション保存
    • Session.vimに保存される
  • tmux
    • prefix C-sで保存
    • session,window,pane全て保存
    • 設定によっては起動してるプログラムとかも保存される
    • prefix C-rで復元
    • tmux list-sessionsを確認するとセッションが復活してることがわかる
    • tmux attach -t <target-session>でattach可能

:mksession!するのめっちゃ忘れそうな気がするので,定期的に実行してくれる何かが必要かもしれない.

参考URL


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>