📝

tmuxの設定を"少しだけ"改善してみた

2023/05/27に公開

最近 MacBookを初めて購入しました。
今まで、Windows + WSLで開発していたのですが、Windows Terminalの操作感って意外とMacのTerminalよりよかったんだなぁと驚きました。
特にMacのTerminalは、標準でペイン分割できないのが何気にストレスに感じていました。

ってことで、調べているとTmuxってものが便利というので、すぐに入れてみたのはいいのですが、、、
Tmuxの標準設定も色々不便!って感じました。

Tmuxのデフォルト設定で、不便って感じたものが以下です。

  • ペイン操作のショートカットが直感的でない
    • 垂直分割:Prefix + %
    • 水平分割: Prefix + "
    • ペイン間移動も微妙
  • ペインを垂直分割した状態で、マウス選択でコピーするとペインを跨いでコピーしてしまう
    • ちょっと言葉で伝わらないかもしれないので、実際にデフォルト状態のtmuxで試してみてください
  • マウススクロールすると、コマンド履歴が出てしまう
    • 画面スクロールして欲しい
  • コピーモードでの操作がEmacs風で訳わからん
    • vim風にしたい
  • コピーモード上でコピーしても、tmux上でしかペーストできない
    • クリップボードにもコピーして

~/.tmux.confファイルでtmuxの設定ができるみたいなので、上記のストレスを解消すべく設定してみた結果が以下です。
ちなみに環境は、MacOS Ventura、tmux 3.3aです。

# キーバインドvim風に
setw -g mode-keys vi

# 'v' で選択を始める(コピーモードの時)
# 'V'で行選択は効くが、なぜか'v'で選択が効かなかったため
bind -T copy-mode-vi v send -X begin-selection

# マウススクロール
set -g mouse on
bind-key -T edit-mode-vi WheelUpPane send-keys -X scroll-up
bind-key -T edit-mode-vi WheelDownPane send-keys -X scroll-down


# クリップボードにコピー
# マウススクロールをオンにすると、マウス選択コピーがクリップボードにコピーされなくなるため
set -s copy-command 'pbcopy' 

# 設定ファイル再読み込み r
bind r source-file ~/.tmux.conf \; display "Reloaded"

# ペイン操作
# "|" でペインを縦分割する
bind | split-window -h
# "-" でペインを縦分割する
bind - split-window -v
# vimのキーバインドでペインを移動する
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

# ペインの開始番号を 0 から 1 に変更する
set-option -g base-index 1

色々、ネットで調べて試行錯誤した結果上記でなんとか解決しました。
(試行錯誤した結果だから、あんまり設定内容は理解してない。笑)
調べていくと、皆さんすごい色々と設定しているんだなぁ、、、と思ったのですが、
自分はとりあえず上で記載したストレスを解消するのが目的なので、このくらいにしておこうと思います。
また、使っていくうちにストレスを感じることがあれば、改善したいと思います。

Discussion