Tmux安裝與使用

一、Tmux安裝

sudo apt-get install tmux

二、Tmux環境變量配置

完成安裝以後,可以進行環境變量的配置。

打開 ~/.tmux.conf ,添加如下代碼:  (以下是某博主使用 Tmux 幾年來逐漸精簡後的配置,本文拿來做參考,讀者可根據自己需要修改!)

# -----------------------------------------------------------------------------
# Tmux 基本配置 - 要求 Tmux >= 2.3
# 如果不想使用插件,只需要將此節的內容寫入 ~/.tmux.conf 即可
# -----------------------------------------------------------------------------

# C-b 和 VIM 衝突,修改 Prefix 組合鍵爲 Control-Z,按鍵距離近,也可以改爲Control-A
set -g prefix C-a

set -g base-index         1     # 窗口編號從 1 開始計數
set -g display-panes-time 10000 # PREFIX-Q 顯示編號的駐留時長,單位 ms

set -g mouse              on    # 開啓鼠標,Tmux2.1以後的版本只需這一步操作完成mouse配置

set -g pane-base-index    1     # 窗格編號從 1 開始計數
set -g renumber-windows   on    # 關掉某個窗口後,編號重排

setw -g allow-rename      off   # 禁止活動進程修改窗口名
setw -g automatic-rename  off   # 禁止自動命名新窗口
setw -g mode-keys         vi    # 進入複製模式的時候使用 vi 鍵位(默認是 EMACS)

# -----------------------------------------------------------------------------
# 使用插件 - via tpm
#   1. 執行 git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
#   2. 執行 bash ~/.tmux/plugins/tpm/bin/install_plugins
# -----------------------------------------------------------------------------

setenv -g TMUX_PLUGIN_MANAGER_PATH '~/.tmux/plugins'

# 推薦的插件(請去每個插件的倉庫下讀一讀使用教程)
set -g @plugin 'seebi/tmux-colors-solarized'
set -g @plugin 'tmux-plugins/tmux-pain-control'
set -g @plugin 'tmux-plugins/tmux-prefix-highlight'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'tmux-plugins/tpm'

# tmux-resurrect
set -g @resurrect-dir '~/.tmux/resurrect'

# tmux-prefix-highlight
set -g status-right '#{prefix_highlight} #H | %a %Y-%m-%d %H:%M'
set -g @prefix_highlight_show_copy_mode 'on'
set -g @prefix_highlight_copy_mode_attr 'fg=white,bg=blue'

# 初始化 TPM 插件管理器 (放在配置文件的最後)
run '~/.tmux/plugins/tpm/tpm'

# -----------------------------------------------------------------------------
# 結束
# -----------------------------------------------------------------------------

配置完執行如下命令,配置即可生效!

Tmux source ~/.Tmux.conf

 

三、Tmux常用快捷鍵

以下內容適用於 Tmux 2.3 及以上的版本,但是絕大部分的特性低版本也都適用,鼠標支持、VI 模式、插件管理在低版本可能會與本文不兼容。

 

常用操作1:以下操作在終端直接執行(非Tmux環境)

啓動新會話:

tmux [new -s 會話名 -n 窗口名]

恢復會話:

tmux at [-t 會話名]

列出所有會話:

tmux ls

切換到指定會話:

tmux a -t 會話編號

關閉會話:

tmux kill-session -t 會話名

關閉所有會話:

tmux ls | grep : | cut -d. -f1 | awk '{print substr($1, 0, length($1)-1)}' | xargs kill

常用操作2:以下8種操作均在 Tmux 環境中執行,需要先按下操作前綴 ctrl+b(按照二中配置,已替換爲ctrl+a),再進行如下操作:

1. 會話操作

:new<回車>  啓動新會話
s           列出所有會話
$           重命名當前會話

2. 窗口 (window)操作 (注意:每一個會話下可包含多個窗口)

c  創建新窗口
w  列出所有窗口
n  後一個窗口
p  前一個窗口
f  查找窗口
,  重命名當前窗口
&  關閉當前窗口

3. 調整窗口排序

swap-window -s 3 -t 1  交換 3 號和 1 號窗口
swap-window -t 1       交換當前和 1 號窗口
move-window -t 1       移動當前窗口到 1 號

4. 窗格(分割窗口) 常用!!!

%  垂直分割
"  水平分割
o  交換窗格
x  關閉窗格
⍽  左邊這個符號代表空格鍵 - 切換佈局
q 顯示每個窗格是第幾個,當數字出現的時候按數字幾就選中第幾個窗格
{ 與上一個窗格交換位置
} 與下一個窗格交換位置
z 切換窗格最大化/最小化

5. 同步窗格

這麼做可以切換到想要的窗口,輸入 Tmux 前綴和一個冒號呼出命令提示行,然後輸入:

:setw synchronize-panes

你可以指定開或關,否則重複執行命令會在兩者間切換。 這個選項值針對某個窗口有效,不會影響別的會話和窗口。 完事兒之後再次執行命令來關閉。幫助

6. 調整窗格尺寸

如果你不喜歡默認佈局,可以重調窗格的尺寸。雖然這很容易實現,但一般不需要這麼幹。這幾個命令用來調整窗格:

PREFIX : resize-pane -D          當前窗格向下擴大 1 格
PREFIX : resize-pane -U          當前窗格向上擴大 1 格
PREFIX : resize-pane -L          當前窗格向左擴大 1 格
PREFIX : resize-pane -R          當前窗格向右擴大 1 格
PREFIX : resize-pane -D 20       當前窗格向下擴大 20 格
PREFIX : resize-pane -t 2 -L 20  編號爲 2 的窗格向左擴大 20 格

7. 文本複製模式:

按下 PREFIX-[ 進入文本複製模式。可以使用方向鍵在屏幕中移動光標。默認情況下,方向鍵是啓用的。在配置文件中啓用 Vim 鍵盤佈局來切換窗口、調整窗格大小。Tmux 也支持 Vi 模式。要是想啓用 Vi 模式,只需要把下面這一行添加到 .tmux.conf 中:

setw -g mode-keys vi

啓用這條配置後,就可以使用 h、j、k、l 來移動光標了。

想要退出文本複製模式的話,按下回車鍵就可以了。然後按下 PREFIX-] 粘貼剛纔複製的文本。

一次移動一格效率低下,在 Vi 模式啓用的情況下,可以輔助一些別的快捷鍵高效工作。

例如,可以使用 w 鍵逐詞移動,使用 b 鍵逐詞回退。使用 f 鍵加上任意字符跳轉到當前行第一次出現該字符的位置,使用 F 鍵達到相反的效果。

vi             emacs        功能
^              M-m          反縮進
Escape         C-g          清除選定內容
Enter          M-w          複製選定內容
j              Down         光標下移
h              Left         光標左移
l              Right        光標右移
L                           光標移到尾行
M              M-r          光標移到中間行
H              M-R          光標移到首行
k              Up           光標上移
d              C-u          刪除整行
D              C-k          刪除到行末
$              C-e          移到行尾
:              g            前往指定行
C-d            M-Down       向下滾動半屏
C-u            M-Up         向上滾動半屏
C-f            Page down    下一頁
w              M-f          下一個詞
p              C-y          粘貼
C-b            Page up      上一頁
b              M-b          上一個詞
q              Escape       退出
C-Down or J    C-Down       向下翻
C-Up or K      C-Up         向下翻
n              n            繼續搜索
?              C-r          向前搜索
/              C-s          向後搜索
0              C-a          移到行首
Space          C-Space      開始選中
               C-t          字符調序

8. 雜項:

d  退出 tmux(tmux 仍在後臺運行)
t  窗口中央顯示一個數字時鐘
?  列出所有快捷鍵
:  命令提示符

附:配置選項:

# 鼠標支持 - 設置爲 on 來啓用鼠標(與 2.1 之前的版本有區別,請自行查閱 man page)
* set -g mouse on

# 設置默認終端模式爲 256color
set -g default-terminal "screen-256color"

# 啓用活動警告
setw -g monitor-activity on
set -g visual-activity on

# 居中窗口列表
set -g status-justify centre

# 最大化/恢復窗格
unbind Up bind Up new-window -d -n tmp \; swap-pane -s tmp.1 \; select-window -t tmp
unbind Down
bind Down last-window \; swap-pane -s tmp.1 \; kill-window -t tmp

 

References:

[1] https://gist.github.com/ryerh/14b7c24dfd623ef8edc7

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章