Skip to content

Instantly share code, notes, and snippets.

@DawnGuoDev
Last active February 2, 2020 12:07
Show Gist options
  • Save DawnGuoDev/08bce75fbf9e18628774a77a7ef1e47c to your computer and use it in GitHub Desktop.
Save DawnGuoDev/08bce75fbf9e18628774a77a7ef1e47c to your computer and use it in GitHub Desktop.
Tmux 基本操作快捷键汇总 & 速查表

本文整理的内容在Tmux 2.1版本上都是可以的,对于默认的配置来说都是适用的,如果你对配置文件进行了自定义,那么可能会出现有些快捷键方式不能用或者效果不一样的情况。参考的主要链接是https://gist.github.com/MohamedAlaa/2961058

0. 关于Session的操作

在terminal中输入的关于session的操作如下

操作 功能
tmux [new -s 会话名 -n 窗口名] 启动新的session
tmux ls 查看session,当前正常运作中的tmux server都会显示
tmux a [-t 会话名] 重新连接session,这里的a是attach的意思。如果只有一个session的话,使用tmux a即可
tmux kill-session -t 会话名 删除session
tmux rename -t 旧会话名 新会话名 重命名session

在tmux状态下关于session的操作如下

操作 功能
prefix + $ 重命名当前Session
prefix + d 断开一个session。这种方式断开会将session保存下来,之后可重新打开,有别于下面的"exit"方式
prefix + s 查看/切换session
prefix + :new(先进入命令行输入状态,再键入new,最后按回车) 启动新的session

1. 关于Window的操作

操作 功能
prefix + c 创建一个新的window。最下面会多出window的编号。有*号所在的window就是当前正在操作的window
prefix + 窗口号 在不同的window间切换。直接输入需要进入的window的数字编号即可
prefix + n 后一个window
prefix + p 前一个window
prefix + & 关闭当前window
prefix + , (逗号) 重命名window
prefix + w 列出所有的窗口
prefix + space 切换到上一个活动的窗口

2. 关于Pane的操作

操作 功能
prefix + % 水平分割pane
prefix + " 竖直分割pane
prefix + o 切换pane
prefix + 上下左右的箭头 在pane之间switch,之后会有设置的方法来用鼠标选择pane
prefix + z 把光标所在的pane全屏显示。回到之前的多pane状态的话,只需要重复该操作即可。
prefix + (ctrl)+上下左右箭头 改变pane size。与上面命令不同的是,prefix按完之后,不要松开ctrl,一直按着,然后再按箭头来调整。
prefix + q 显示每个pane的编号,当数字出现的时候按数字几就切换到第几个pane
prefix + { 与上一个pane交换位置,如当前pane编号为2,那么将与1进行交换
prefix + } 与下一个pane交换位置
shell里输入“exit”命令 退出一个pane
prefix + :setw synchronize-panes(先进入命令行输入状态,在键入命令) 让一个window中的pane进行同步

上述的exit命令可以退出Pane。当window中只有一个pane的时候,键入exit命令退出该window。同理,当session中只有一个window,该window只有一个pane时,键入exit将会退出session,该方式退出的session将不可恢复,因为你pane都exit完了。

Ctrl - d效果是一样的。

3. 复制粘贴

按下prefix+[后光标所处的pane进入文本复制模式,可以使用方向键在屏幕中移动光标。默认情况下是使用emacs快捷键选择文本的,但是博主习惯性使用vim快捷键方式。所以先在tmux.conf文件中先写入这样的配置

setw -g mode-keys vi      # Vi风格选择文本

更新并启动该配置后,在文本复制模式下按下space开始拷贝,通过方向键或者vim快捷键方式选择文本。按下Enter键拷贝所选内容。然后通过prefix + ]进行粘贴。需要注意的是:这种方式拷贝的内容是在tmux的剪切板中,而非系统的剪切板中。

另外,在启用vi模式之后,可以辅助一些别的快捷键高效工作。整理如下

vi操作 功能
^ 反缩进
Escape 清除选定内容
Enter 复制选定内容
j 光标下移
h 光标左移
l 光标右移
L 光标移到尾行
M 光标移到中间行
H 光标移到首行
k 光标上移
d 删除整行
D 删除到行末
$ 移到行尾
: 前往指定行
C-d 向下滚动半屏
C-u 向上滚动半屏
C-f 下一页
w 下一个词
p 粘贴
C-b 上一页
b 上一个词
q 退出
J or C-Down 向下翻
K or C-Up 向上翻
n 继续搜索
? 向前搜索
/ 向后搜索
0 移到行首
Space 开始选中

4. 其他功能

操作 功能
prefix + t 窗口中央显示一个数字时钟,按enter退出显示
prefix + ? 列出所有快捷键
prefix + : 进入命令输入状态
tmux show -g 查看当前tmux的配置
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment