はじめてtmuxをつかうときに最初に覚えたこと/いじったこと


GNU Screen 開発版から移ってきた新人です。
移行して10日間くらい使ってみて、最低限ここ覚えておけば/いじっておけば業務に支障ないかな、って思うまとめです。
(ただし、vimmer向け)

よろしくおねがいします。

最低限覚えたぽいコマンド

セッションの一覧

tmux ls

セッションの再開

tmux attach
tmux a

セッション殺す

tmux kill-session -t session_name

セッションの中断

<C-t> d

縦分割

デフォルト

<C-t> %

デフォルトから変えた。

tmux.conf
unbind %
bind | split-window -h
<C-t> |

横分割

デフォルト

<C-t> "

デフォルトから変えた。

tmux.conf
unbind '"'
bind '-' split-window -v
<C-t> -

Paneの移動

下記でvimっぽくするので、覚えない。

Paneをバラす

<C-t> !

Windowの作成

<C-t> c

Windowの移動

次のWindow

<C-t> n

前のWindow

<C-t> p

kill Window

<C-t> &

Windowの名前変更

作業中にWindow増やしたい!と思ったときに、
適した名前変えると分かりやすくて良いです。

<C-t> ,

困ったら

<C-t> ?

少しだけカスタマイズ

prefixの変更

Screen時代からずっと変えてたので、慣れてる方に変えました。

tmux.conf
unbind-key C-b 
set-option -g prefix C-z 
bind-key C-z send-prefix

設定の再読み込み

最初は設定いじりまくるので、とりあえず。

tmux.conf
unbind r
bind C-r source-file ~/.tmux.conf ; display-message "reloaded"

vimmer向け

emacs向けもあるようです。

set-window-option -g mode-keys vi

履歴を長く

Screenでもやってたので、とりまこれくらいは。

set-option -g history-limit 10000

Paneの移動

最初、Windowの移動をviライクにしていたのだけど、Screenでもwindowはn/pで移動なので、Paneの移動をviライクにした。

そのほうがviと画面切り替えた時もスムーズ。

tmux.conf
unbind l                                                                                                                                                                                                                                      
bind -r k select-pane -U
bind -r j select-pane -D
bind -r h select-pane -L
bind -r l select-pane -R

Windowの移動

これやめた。

tmuxで選択した文字列をMacのクリップボードへ

ここに書くと長くなるので割愛ですが、やりました。
あんまりスマートじゃないけど、無いよりは全然良い。

tmux.conf
# pbcopy for mac patch
# SEE: https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard/
set-option -g default-command "reattach-to-user-namespace -l zsh"
bind ^y run-shell 'tmux-pbcopy'

感想

Screenからうつってきた人はwindowとpaneの概念を理解するまでしっくりこないかも。
でも、カスタマイズが全体的に楽な気がします。hackしやすいのは良いこと。

あと、tmuxinator使うようになったら、paneを編集するコマンドわりと使わなくなった。
リモートでも動かすようになればまた変わるかな。