基本使用
<prefix>$
可以重命名当前Session
<prefix>c
可以创建新的窗口(Window)
<prefix>%
水平分割窗口(形成两个Pane)
<prefix>"
垂直分割窗口。退出当前Session的快捷键是<prefix>d
在Bash中可以查看当前的tmux服务中有哪些Session:tmux ls
根据Session的名字可以再回去:tmux a -t myname (or at, or attach)
基本配置
默认的<prefix>
是Ctrl+b
,如果觉得不好按可以调整为Ctrl+a
,只需要在配置文件~/.tmux.conf中加入:
1 2
| unbind ^b set -g prefix 'C-a'
|
为了能让Tmux动态载入配置而不是重启,我们设一个快捷键r来重新载入配置:
1
| bind r source-file ~/.tmux.conf \; display-message "Config reloaded"
|
当前tmux的设置,可通过tmux show -g
窗格切换
可以把hjkl设置为切换窗格的快捷键:
1 2 3 4
| bind h select-pane -L bind j select-pane -D bind k select-pane -U bind l select-pane -R
|
再给调整窗格大小设置快捷键:
1 2 3 4
| bind L resize-pane -L 10 # 向左扩展 bind R resize-pane -R 10 # 向右扩展 bind K resize-pane -U 5 # 向上扩展 bind J resize-pane -D 5 # 向下扩展
|
我们发现当打开新窗格时Shell仍然在Home目录,可以设置为当前目录:
1 2
| bind '"' split-window -c '#{pane_current_path}' bind '%' split-window -h -c '#{pane_current_path}'
|
拷贝
在Tmux中通过[进入拷贝模式,按下<space>
开始拷贝。然后用Vim/Emacs快捷键选择文本,按下拷贝所选内容。然后通过]进行粘贴
上述所有快捷键中,只有[和]需要先按下<prefix>
。
我们可以让上述拷贝快捷键符合Vi风格:
1 2 3 4 5 6
| bind Escape copy-mode bind -t vi-copy v begin-selection bind -t vi-copy y copy-selection unbind p bind p pasteb setw -g mode-keys vi # Vi风格选择文本
|
这样,按下<Escape>
进入拷贝模式,v进行选择,y拷贝所选内容,p进行粘贴。
鼠标切换窗格
Tmux和Vim风格非常像,也可以设置鼠标模式。下面的设置开启了所有鼠标功能: 通过点击选择窗格,通过拖动更改窗格大小,通过鼠标选择窗口,还可以通过鼠标选择复制区域。
1 2 3 4
| setw -g mode-mouse on set -g mouse-select-pane on set -g mouse-resize-pane on set -g mouse-select-window on
|
快捷键
Sessions
1 2 3
| :new<CR> new session s list sessions $ name session
|
:new -s 可以指定新Session的名字。
Windows (tabs)
1 2 3 4 5 6 7
| c create window w list windows n next window p previous window f find window , name window & kill window
|
Panes (splits)
1 2 3 4 5 6 7 8 9 10 11 12 13
| % vertical split " horizontal split o swap panes q show pane numbers x kill pane + break pane into window (e.g. to select text by mouse to copy) - restore pane from window ⍽ space - toggle between layouts <prefix> q (Show pane numbers, when the numbers show up type the key to goto that pane) <prefix> { (Move the current pane left) <prefix> } (Move the current pane right) <prefix> z toggle pane zoom
|
Misc
1 2 3 4
| d detach t big clock ? list shortcuts : prompt
|