103. tmux操作
进入tmux翻屏模式
- 先按
Ctrl+q
,松开,然后再按[
- 实现上下翻页: 进入翻屏模式后,
PgUp
,PgDn
实现上下翻页 - 退出:
q
ps:
ctrl + b + [
,很多人会以为是同时按三个键,但是这样是不行的。
简单介绍下tmux的其他功能
常用快捷键
Tmux快捷指令
关于快捷指令,首先要认识到的是:tmux的所有指令,都包含同一个前缀,默认为Ctrl+q
,输入完前缀过后,控制台激活,命令按键才能生效。前面tmux会话相关的操作中,我们共用到了两个快捷键Ctrl+q
+ d
、Ctrl+q
+ s
,但这仅仅是冰山一角,欲窥tmux庞大的快捷键体系,请看下表。
Note: prefix:
Ctrl+q
系统指令
前缀 | 指令 | 描述 |
---|---|---|
Ctrl+q |
? |
显示快捷键帮助文档 |
Ctrl+q |
d |
断开当前会话 |
Ctrl+q |
D |
选择要断开的会话 |
Ctrl+q |
Ctrl+z |
挂起当前会话 |
Ctrl+q |
r |
强制重载当前会话 |
Ctrl+q |
s |
显示会话列表用于选择并切换 |
Ctrl+q |
: |
进入命令行模式,此时可直接输入ls 等命令 |
Ctrl+q |
[ |
进入复制模式,按q 退出 |
Ctrl+q |
] |
粘贴复制模式中复制的文本 |
Ctrl+q |
~ |
列出提示信息缓存 |
Ctrl+q |
$ |
重名名当前会话 |
窗口(window)指令。
前缀 | 指令 | 描述 |
---|---|---|
Ctrl+q |
c |
新建窗口 |
Ctrl+q |
& |
关闭当前窗口(关闭前需输入y or n 确认) |
Ctrl+q |
0~9 |
切换到指定窗口 |
Ctrl+q |
p |
切换到上一窗口 |
Ctrl+q |
n |
切换到下一窗口 |
Ctrl+q |
w |
打开窗口列表,用于且切换窗口 |
Ctrl+q |
, |
重命名当前窗口 |
Ctrl+q |
. |
修改当前窗口编号(适用于窗口重新排序) |
Ctrl+q |
f |
快速定位到窗口(输入关键字匹配窗口名称) |
表三:面板(pane)指令。
前缀 | 指令 | 描述 |
---|---|---|
Ctrl+q |
" |
当前面板上下一分为二,下侧新建面板 |
Ctrl+q |
% |
当前面板左右一分为二,右侧新建面板 |
Ctrl+q |
x |
关闭当前面板(关闭前需输入y or n 确认) |
Ctrl+q |
z |
最大化当前面板,再重复一次按键后恢复正常(v1.8版本新增) |
Ctrl+q |
! |
将当前面板移动到新的窗口打开(原窗口中存在两个及以上面板有效) |
Ctrl+q |
; |
切换到最后一次使用的面板 |
Ctrl+q |
q |
显示面板编号,在编号消失前输入对应的数字可切换到相应的面板 |
Ctrl+q |
{ |
向前置换当前面板 |
Ctrl+q |
} |
向后置换当前面板 |
Ctrl+q |
Ctrl+o |
顺时针旋转当前窗口中的所有面板 |
Ctrl+q |
方向键 |
移动光标切换面板 |
Ctrl+q |
o |
选择下一面板 |
Ctrl+q |
空格键 |
在自带的面板布局中循环切换 |
Ctrl+q |
Alt+方向键 |
以5个单元格为单位调整当前面板边缘 |
Ctrl+q |
Ctrl+方向键 |
以1个单元格为单位调整当前面板边缘(Mac下被系统快捷键覆盖) |
Ctrl+q |
t |
显示时钟 |
tmux的丝滑分屏功能正是得益于以上系统、窗口、面板的快捷指令,只要你愿意,你就可以解除任意的快捷指令,然后绑上你喜欢的指令,当然这就涉及到它的可配置性了。
补充
快捷键 | 功能 |
---|---|
Ctrl+q % |
竖直拆分屏幕(两个 Shell 分别位于左右) |
Ctrl+q " |
水平拆分屏幕(两个 Shell 分别位于上下) |
Ctrl+q O |
切换到另一个 Shell |
Ctrl+q ? |
查看帮助 |
Ctrl+q d |
断开 tmux 并让其在后台运行(可以使用 tmux attach 重新进入) |
Ctrl+q <arrow key> |
光标切换到其他窗格 <arrow key> 是指向要切换到的窗格的方向键比如切换到下方窗格,就按方向键↓ |
Ctrl+q ; |
光标切换到上一个窗格 |
Ctrl+q o |
光标切换到下一个窗格 |
Ctrl+q { |
当前窗格与上一个窗格交换位置 |
Ctrl+q } |
当前窗格与下一个窗格交换位置 |
Ctrl+q Ctrl+o |
所有窗格向前移动一个位置,第一个窗格变成最后一个窗格 |
Ctrl+q Alt+o |
所有窗格向后移动一个位置,最后一个窗格变成第一个窗格 |
Ctrl+q x |
关闭当前窗格 |
Ctrl+q ! |
将当前窗格拆分为一个独立窗口 |
Ctrl+q z |
当前窗格全屏显示,再使用一次会变回原来大小 |
Ctrl+q Ctrl+<arrow key> |
按箭头方向调整窗格大小 |
Ctrl+q q |
显示窗格编号 |
prefix | Ctrl+q | 激活控制台;此时以下按键生效 |
---|---|---|
系统操作 | ? |
列出所有快捷键;按q返回 |
d |
脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新进入之前的会话 | |
D |
选择要脱离的会话;在同时开启了多个会话时使用 | |
Ctrl+z |
挂起当前会话 | |
r |
强制重绘未脱离的会话 | |
s |
选择并切换会话;在同时开启了多个会话时使用 | |
: |
进入命令行模式;此时可以输入支持的命令,例如kill-server可以关闭服务器 | |
[ |
进入复制模式;此时的操作与vi/emacs相同,按q/Esc退出 | |
~ |
列出提示信息缓存;其中包含了之前tmux返回的各种提示信息 | |
窗口操作 | c |
创建新窗口 |
& |
关闭当前窗口 | |
数字键 |
切换至指定窗口 | |
p |
切换至上一窗口 | |
n |
切换至下一窗口 | |
l |
在前后两个窗口间互相切换 | |
w |
通过窗口列表切换窗口 | |
, |
重命名当前窗口;这样便于识别 | |
. |
修改当前窗口编号;相当于窗口重新排序 | |
f |
在所有窗口中查找指定文本 | |
面板操作 | ” |
将当前面板平分为上下两块 |
% |
将当前面板平分为左右两块 | |
x |
关闭当前面板 | |
! |
将当前面板置于新窗口;即新建一个窗口,其中仅包含当前面板 | |
Ctrl+方向键 |
以1个单元格为单位移动边缘以调整当前面板大小 | |
Alt+方向键 |
以5个单元格为单位移动边缘以调整当前面板大小 | |
Space |
在预置的面板布局中循环切换;依次包括even-horizontal、even-vertical、main-horizontal、main-vertical、tiled | |
q |
显示面板编号 | |
o |
在当前窗口中选择下一面板 | |
方向键 |
移动光标以选择面板 | |
{ |
向前置换当前面板 | |
} |
向后置换当前面板 | |
Alt+o |
逆时针旋转当前窗口的面板 | |
Ctrl+o |
顺时针旋转当前窗口的面板 |
创建tmux
1 | $ tmux new -s <session-name> |
列出已有的tmux列表
命令
1
2
3$ tmux ls
# or
$ tmux list-sessionCtrl+q s
:列出所有会话。
进入已创建的tmux
使用会话编号
1
2
3$ tmux attach -t <session-number>
# or
$ tmux a -t <session-number>使用会话名称
1
2
3$ tmux attach -t <session-name>
# or
$ tmux a -t <session-name>
切换会话
1 | # 使用会话编号 |
重命名会话
$ tmux rename-session
命令用于重命名会话。1
$ tmux rename-session -t <session-number> <new-name>
上面命令将
<session-number>
号会话重命名。Ctrl+q $
临时退出tmux
Ctrl+q d
$ tmux detach
杀死tmux
tmux外:
$ tmux kill-session -t <session-name>
tmux内:
Ctrl-d
<Prefix(ctrl+q)> + :kill-session
删除所有tmux
1 | tmux kill-server |
vi-mode
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 | 字符调序 |