tmux 配置 & 使用
從 screen 切換到 tmux 不是平白無故的,自然有其充分的理由。我感覺使用 tmux 更加方便、靈活和高效。我非常喜歡 tmux 的這些方面:
垂直分割窗口,當然水平也是可以的
vi 或 emacs 按鍵綁定模式
有多個粘貼緩衝,可完全由按鍵進行選取、複製、以及粘貼操作
配置很容易,尤其是狀態行
腳本化,通過腳本可以方便的控制 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 中定義了以下按鍵綁定:
水平或垂直分割窗口 (C+A+ :split-window + v/h)
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-key J resize-pane -D 10
bind-key K resize-pane -U 10
bind-key H resize-pane -L 10
bind-key L resize-pane -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 "##(uptime.pl)# • ##(cut -d ' ' -f 1-3 /proc/loadavg)#"
下面兩行設置狀態行的背景和前景色:
set -g status-bg black
set -g status-fg yellow
默認啟動應用
當 tmux 啟動時,可以默認啟動一些應用:
new -s work # 新建名為 work 的會話,並啟動 mutt
neww rtorrent # 啟動 rtorrent
neww vim # 啟動 vim
neww zsh
selectw -t 3 # 默認選擇標號為 3 的窗口
在窗口中 C+a+? 命令幫助
複製與粘貼操作
按 C-a [ 進入複製模式,如果有設置 setw -g mode-keys vi 的話,可按 vi 的按鍵模式操作。移動至待複製的文本處,按一下空格,結合 vi 移動命令開始選擇,選好后按回車確認。
按 C-a ] 粘貼已複製的內容。
重命名一個窗口:rename-window name
轉:http://www.osmsg.com/2011/04/from-screen-to-tmux/
更多:
http://wiki.freebsdchina.org/software/t/tmux
http://www.dayid.org/os/notes/tm.html
常用命令:
tmux #開啟tmux
tmux ls #顯示已有tmux列表(C-b s)
tmux attach-session -t 數字 #選擇tmux
C-b c 創建一個新的窗口
C-b n 切換到下一個窗口
C-b p 切換到上一個窗口
C-b l 最後一個窗口,和上一個窗口的概念不一樣喲,誰試誰知道
c-b w 通過上下鍵選擇當前窗口中打開的會話
C-b 數字 直接跳到你按的數字所在的窗口
C-b & 退出當前窗口
C-b d 臨時斷開會話 斷開以後,還可以連上的喲:)
C-b " 分割出來一個窗口
C-b % 分割出來一個窗口
C-b o 在小窗口中切換
C-b (方向鍵)
C-b ! 關閉所有小窗口
C-b x 關閉當前游標處的小窗口
C-b t 鐘錶
C-b pageup/pagedow
[火星人
]
tmux 配置 & 使用已經有680次圍觀
http://coctec.com/docs/service/show-post-395.html