在我的 Linux 生活中,我曾做過幾次重要的切換。我先是從 Archlinux 切換到 Gentoo,後來又從 bash 切換到了 zsh。現在,我又從 screen 切換到 tmux。對於各個終端控來說,screen 是幾乎每天都會使用的好工具,拋開確實不易。但有了更加好用的 tmux,我為什麼不切換?
對我來說,從 screen 切換到 tmux 不是平白無故的,自然有其充分的理由。我感覺使用 tmux 更加方便、靈活和高效。我非常喜歡 tmux 的這些方面:
從 screen 切換到 tmux 十分平滑,tmux 的按鍵設置與 screen 大都相同,只是其默認按鍵前綴為 Ctrl-b。為了延續在 screen 中的使用習慣,我將其更改為 Ctrl-a。將下列內容加到 $HOME/.tmux.conf 中即可:
set -g prefix ^a
unbind ^b
bind a send-prefix
我還在 .tmux.conf 中定義了以下按鍵綁定:
水平或垂直分割窗口
unbind '"'
bind - splitw -v # 分割成上下兩個窗口
unbind %
bind | splitw -h # 分割成左右兩個窗口
選擇分割的窗格
bind k selectp -U # 選擇上窗格
bind j selectp -D # 選擇下窗格
bind h selectp -L # 選擇左窗格
bind l selectp -R # 選擇右窗格
重新調整窗格的大小
bind ^k resizep -U 10 # 跟選擇窗格的設置相同,只是多加 Ctrl(Ctrl-k)
bind ^j resizep -D 10 # 同上
bind ^h resizep -L 10 # ...
bind ^l resizep -R 10 # ...
交換兩個窗格
bind ^u swapp -U # 與上窗格交換 Ctrl-u
bind ^d swapp -D # 與下窗格交換 Ctrl-d
執行命令,比如看 Manpage、查 Perl 函數
bind m command-prompt "splitw -h 'exec man %%'"
bind @ command-prompt "splitw -h 'exec perldoc -f %%'"
狀態行左邊默認就很好了,我對右邊定制了一下,顯示 uptime 和 loadavg:
set -g status-right "#[fg=green]#(uptime.pl)#[default] • #[fg=green]#(cut -d ' ' -f 1-3 /proc/loadavg)#[default]"
下面兩行設置狀態行的背景和前景色:
set -g status-bg black
set -g status-fg yellow
當 tmux 啟動時,可以默認啟動一些應用:
new -s work mutt # 新建名為 work 的會話,並啟動 mutt
neww rtorrent # 啟動 rtorrent
neww vim # 啟動 vim
neww zsh
selectw -t 3 # 默認選擇標號為 3 的窗口
按 C-a [ 進入復制模式,如果有設置 setw -g mode-keys vi
的話,可按 vi 的按鍵模式操作。移動至待復制的文本處,按一下空格,結合 vi 移動命令開始選擇,選好後按回車確認。
按 C-a ] 粘貼已復制的內容。
tmux 1.8 發布,Linux 終端復用器 http://www.linuxidc.com/Linux/2013-03/81980.htm
Tmux:終端復用器 http://www.linuxidc.com/Linux/2013-07/86776.htm
Tmux 的詳細介紹:請點這裡
Tmux 的下載地址:請點這裡