<a target=_blank target="_blank" class="postTitle2" href="http://www.cnblogs.com/cbscan/articles/2888595.html" style="margin:0px; padding:0px; font-size:24px; color:rgb(0,0,0); text-decoration:none">
</a>
[轉]tmux使用(程序員適用)
原文:http://jack-boy.iteye.com/blog/1586908
tmux基本使用
tmux是一個優秀的終端複用軟件,即使非正常掉線,也能保證當前的任務運行,這一點對於遠程SSH訪問特別有用,網絡不好的情況下仍然能保證工作現場不丟失!
tmux完全使用鍵盤控制窗口,實現窗口的切換,像是Chrome的方式管理shell,使用起來很方便,byubo也有同樣的功能。 id="iframe_0.8315152358713922" src="data:text/html;charset=utf8,%3Cimg%20id=%22img%22%20src=%22http://tmux.sourceforge.net/small-tmux3.png?_=2888595%22%20style=%22border:none;max-width:989px%22%3E%3Cscript%3Ewindow.onload%20=%20function%20()%20%7Bvar%20img%20=%20document.getElementById('img');%20window.parent.postMessage(%7BiframeId:'iframe_0.8315152358713922',width:img.width,height:img.height%7D,%20'http://www.cnblogs.com');%7D%3C/script%3E" frameborder="0" scrolling="no" style="margin: 0px; padding: 0px; border-width: initial; border-style: none; width: 20px; height: 20px;">
tmux命令都具有一個前綴命令(PREFIX),默認的是CTRL+b,可以自己修改,改爲CTRL+a。
在~/.tmux.conf中加入如下行,沒有~/.tmux.conf文件自己建立一個即可。
set -g prefix C-a
unbind C-b
此時並沒有生效,重啓tmux或者在命令模式(按PREFIX : )輸入
source-file ~/.tmux.conf
任何命令前都需要CTRL+a,然後再按其他的鍵發出具體的操作命令,更多命令請看tmux參考手冊
1 建立命名會話
- # tmux new -s session
進入tmux。
PREFIX c 創建新的窗口
PREFIX d 退出tmux窗口,tmux仍在後臺運行,可以通過tmux attach進入到指定的會話
# tmux new -s session -d #在後臺建立會話
# tmux ls #列出會話
# tmux attach -t session #進入某個會話
2 複製模式copy-mode
a.PREFIX [ 進入複製模式
b.按 space 開始複製,移動光標選擇複製區域
c.按 Enter 複製並退出copy-mode。
d.將光標移動到指定位置,按 PREIFX ] 粘貼
如果不在配置文件中進行如下配置,在VIM中複製模式無法完成操作
在~/.tmux.conf中加入如下行
setw -g mode-keys vi
3 Remaping key
講Caps Lock鍵映射爲Ctrl,更改鍵映射後反而有點不習慣,就用默認的鍵盤控制也很方便,習慣就好。
windows環境下載安裝AUTOHOTKEY,修改AutoHotKey.ahk文件爲
- ;;; Default script settings
- #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
- SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
- SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
- ;;; Remap CapsLock to Control. Move CapsLock to Right Control.
- CapsLock::Control
- RControl::CapsLock
運行AutoHotKey,如已運行可以reload。更多修改CapsLock到CTRL的方法,請參考文章MovingTheCtrlKey
4 配置
- #設置PREFIX爲Ctrl-a
- set -g prefix C-a
- #解除Ctrl-b與PREFIX的對應關係
- unbind C-b
- #copy-mode將快捷鍵設置爲vi模式
- setw -g mode-keys vi
- #將r鍵設置爲加載配置文件,並顯示"reloaded!"信息
- bind r source-file ~/.tmux.conf \; display "Reloaded!"
- #設置終端顏色爲256色
- set -g default-terminal "screen-256color"
- #開啓status-bar uft-8支持
- set -g status-utf8 on
- #設置pan前景色
- set -g pane-border-fg green
- #設置pane背景色
- set -g pane-border-bg black
- #設置活躍pane前景色
- set -g pane-active-border-fg white
- #設置活躍pane背景色
- set -g pane-active-border-bg yellow
- #設置消息前景色
- set -g message-fg white
- #設置消息背景色
- set -g message-bg black
- #設置消息高亮顯示
- set -g message-attr bright
- #設置status-bar顏色
- set -g status-fg white
- set -g status-bg black
- #設置窗口列表顏色
- setw -g window-status-fg cyan
- setw -g window-status-bg default
- setw -g window-status-attr dim
- #設置當前窗口在status bar中的顏色
- setw -g window-status-current-fg white
- setw -g window-status-current-bg red
- setw -g window-status-current-attr bright
- #設置status bar格式
- set -g status-left-length 40
- set -g status-left "#[fg=green]Session: #S #[fg=yellow]#I #[fg=cyan]#P"
- set -g status-right "#[fg=cyan]%d %b %R"
- set -g status-interval 60
- set -g status-justify centre
- #開啓window事件提示
- setw -g monitor-activity on
- set -g visual-activity on
5 滾屏
滾屏要進入copy-mode,即PREFIX+[,然後就可以用上下鍵來滾動屏幕,配置了vi快捷鍵模式,就可以像操作vi一樣來滾動屏幕,非常的方便。
退出直接按‘q’鍵即可。
以下補充下常用的指令:
C-b ? 顯示快捷鍵幫助
C-b C-o 調換窗口位置,類似與vim 裏的C-w
C-b 空格鍵 採用下一個內置佈局
C-b ! 把當前窗口變爲新窗口
C-b “ 橫向分隔窗口
C-b % 縱向分隔窗口
C-b q 顯示分隔窗口的編號
C-b o 跳到下一個分隔窗口
C-b 上下鍵 上一個及下一個分隔窗口
C-b C-方向鍵 調整分隔窗口大小
C-b c 創建新窗口
C-b 0~9 選擇幾號窗口
C-b c 創建新窗口
C-b n 選擇下一個窗口
C-b l 切換到最後使用的窗口
C-b p 選擇前一個窗口
C-b w 以菜單方式顯示及選擇窗口
C-b t 顯示時鐘
C-b ; 切換到最後一個使用的面板
C-b x 關閉面板
C-b & 關閉窗口
C-b s 以菜單方式顯示和選擇會話
C-b d 退出tumx,並保存當前會話,這時,tmux仍在後臺運行,可以通過tmux attach進入 到指定的回話。