Cygwin で使っている tmux のカスタマイズ

本記事は最終更新日より 1 年以上経過しております。
スポンサーリンク

 最近は特に Linux に触れる時間も長いから、もうちょっと操作性をあげるべく Prefix だけ変えていた状態から .tmux.conf を弄ってみた。
 tmux の設定ファイルは記述が独自というか、馴染んだ物ではないから結構苦労した。


 先ずは既に変更していた Prefix の変更。デフォだと C-b (Ctrl+b) だったかな。これは頻繁に使う物だから打ちやすい C-t に変更をする。以後文中の ”Prefix” は C-t の事を指す。

# Change prefix key.
set-option -g prefix C-t

 画面がスクロールされても Copy-Mode で巻き戻って見ることが出来る行数を増やす。増やしすぎると tmux 自体がメモリを消費し過ぎてクラッシュする事があるらしい。取り敢えず 5000 程にしてみた。

set-option -g history-limit 5000

 tmux では Pane を 2~4 個に分けたりするので、1 番目から 3 番目の Pane に移動する時なんかは Prefix q として Pane に番号を表示させ、”3” キーを押せば直ぐに移動することが出来る。数字キーの入力が有効な時間はデフォだと短めなのでこれを 5 秒に延ばす。

set-option -g display-panes-time 5000

 マウス操作も取り入れたいから有効化しつつ、”Prefix m”, “Prefix M” をするとトグルでマウス ON/OFF が出来る様にもしておく。

set-option -g mouse on

# Toggle Mouse
bind-key m \
    set-option -g mouse on \; \
    display-message "Mouse : ON"
bind-key M \
    set-option -g mouse off \; \
    display-message "Mouse : OFF"

 ”mouse on” 時、マウスの左ドラッグで範囲選択すると、その範囲は tmux 自体のバッファに格納されるのでバッファの内容を Windows のクリップボードに流し込む。メリットは Pane のセパレータまでコピーされない事にある。
 キーは Prefix C-t に割り当てた。要は Ctrl を押しながら t を 2 回押せば良いように割り当てた。いわゆる tmux からのコピペ用となる。

bind-key C-t \
    save-buffer /dev/clipboard \; \
    display-message "Selection words copied to clipboard."

 ”mouse off” 時だとマウスホイールクリックで Windows のクリップボード内容をペースト出来るが、”mouse on” 時だとそれは出来ない。SHIFT キーを押しながらだと “mouse off” の動作をするからそうすれば良いんだけど SHIFT を押しながらと言うのも面倒なので同機能を割り当てた。これは参考になるサイトが無かったのでなんとか自力。

bind-key -n MouseDown2Pane \
    load-buffer /dev/clipboard \; \
    paste-buffer \; \
    display-message "Paste from clipboard."

 現状やったのは取り敢えずここまで。あとやりたいことは左ドラッグで選択した範囲をそのまま Windows のクリップボードに入れたい。これは試行錯誤してみたけど、未だ実現できないので課題としてみる。

スポンサーリンク