ある人のデスクトップ環境の説明を聞いていたのだが、その人が複数ウィンドウの切り替えを一瞬のキー操作で行いたい、と言ってた。(その人はscreen使いだった)
tmuxのprefixキーを押してから操作という流れに今まで慣らされてきたせいなのか、その手の最適化を今まで考えることもなかったということ自体に衝撃を受けつつ、確かにそのとおりだと思った。確かに頻繁に行う操作についてprefixを毎回律儀に打つのは非効率だ。その手の設定、screenにできるのならtmuxにもできるはずだ。
ということで以下を.tmux.confに追記
#switch windows alt+j,k
bind -n M-j previous-window
bind -n M-k next-window
#for escape
set -s escape-time 0
これで Alt + j で前ウィンドウ、Alt + k で次ウィンドウに一瞬で移動できる。本当にすばやく移動できるので、マニュアルを別ウィンドウにおいておいても、短期記憶の内容がフラッシュされないうちにコーディングに戻ってこれる。
キーの衝突は少し気になる。僕の環境では今のところは困っていないが、Alt+key 自体はありきたりな組み合わせなので、使っているソフトウェアや端末ソフトによっては衝突が発生するかもしれない。その場合は適宜切り替えると良いと思う。(その場合は Ctrl + Alt + keyあたりが有望な選択肢だろう)
set -s escape-time 0 はエスケープの応答を早めるもので、はじめこの設定はいらないと思っていたが、この設定がないとvimを使っているときにtmux側のエスケープが遅い問題で意図しない動作が多発したのでやはり必要。
ということで、tmuxのウィンドウ移動を1アクションで行えるようになりましたとさ。めでたしめでたし。以下に現在の.tmux.confを晒しておく。なんか不満があるごとに3,4行ずつ増えており、10年後とかはすごい量になっているかもしれない。あんまりきれいに書いてないので、量が増えると管理がきつくなってくるかも。
そもそも論、10年後もCUIのソフトウェアを使っているのかが謎だが。
というか10年後に僕が生きているのかも謎だが。
HoriKの.tmux.conf
#bash
set-option -g default-shell /bin/bash
#color
set-option -g default-terminal screen-256color
set -g terminal-overrides 'xterm:colors=256'
set -g status-bg yellow
set -g status-fg black
#switch windows alt+j,k
bind -n M-j previous-window
bind -n M-k next-window
#key-bind like vim
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
#key-bind for copy&paste like vim
set -g mode-keys vi
bind -T copy-mode-vi v send -X begin-selection
bind -T copy-mode-vi y send -X copy-selection
bind-key p paste-buffer
#for escape
set -s escape-time 0
2 件のコメント:
「10年後生きているかも謎」か…。最近物騒だしな。
まったくだ
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。