tmux 中的几个名词
在开始使用 tmux 之前我们需要先了解关于 tmux 的几个名词:
session, window , pane 在这里我们就把他们分别叫做会话,窗口,窗格 。
通常我们在终端中操作一个任务的时候,一旦终端关闭,任务也就结束了,被强制关闭了,在 tmux 中 使用 session 就可以解决这个问题,我们可以把当前操作的任务隐藏起来,在视觉上让它消失,任务继续执行着,当我们想返回任务做一些操作的时候,它可以很方便的回来,我们通常把上面的操作就做 session 操作,我们可以把 session 给隐藏起来,我们也可以把 session 给真的关掉。
在 tmux 中有一个窗口的概念,我们可以这样要去理解窗口:当前呈现在我们面前的这一个工作区域就是一个窗口(当前的终端界面),窗口可以被不断切割,切割成一个个小块,这一个个小块我们叫做窗格(pane),这就是窗口和窗格的概念,我们把它想象成一块大蛋糕可以切成很多小块蛋糕,窗口可以被分割成很多小的窗格。
总结: 一个 session 通常指一个任务里面可以有很多窗口,一个窗口又可以有很多的窗格。
tmux 的前缀键
tmux 中的很多操作都是通过快捷键来实现的,通过快捷键我们可以更加高效的完成任务。
如果想使用 tmux 中的快捷键,我们必须使用 tmux 的前缀按键 ctrl + b , 在 tmux中所有的快捷键都需要通过前缀按键去唤起的。
在 tmux 当中默认的前缀按键是 ctrl + b , 这个前缀按键不是很友好,ctrl 和 b 的距离真的是太长了,操作起来不是很方便,当然这个前缀按键是可以通过 tmux 的配置文件 .tmux.conf 进行修改的,文末会提到 .tmux.conf 的一点简单配置。
tmux 的 session 常用操作
session 是 tmux 中一个很重要的概念,它很好用,也很简单,下面我们来实践一下如何操作 session .
新建 session
新建一个 session ,在终端输入一个 tmux 命令即可:
tmux
上面的命令会创建一个 session ,默认是通过数字编号来命令的,有时候我们需要明确的知道我们的 session 的名字,方便我们快速进入该 session ,我们可以使用如下的命令:
tmux new -s <session-name>
例如新建一个名称是 test 的session : tmux new -s test
离开 session
有时候我们需要离开终端,操作其他的任务,需要离开该任务,但是又想该任务继续在后台执行,这时候我们需要在 tmux 的任何一个窗格中输入如下命令:
tmux detach
也可以使用快捷键 ctrl + b d ,这里解释一下该快捷键, tmux 离开 session 的快捷键是 d ,但是在 tmux 当中任何快捷键都需要搭配 tmux 的前缀按键 ctrl + b 来唤醒,所以快捷键的操作是先按 ctrl +b (松开),紧接着按下按键 d ,这样我们便顺利的离开当前 session 了。
查看 session 列表
有时候我们可能同时操作了好几个 session, 我们可以通过如下的命令来查看我们目前操作了几个session:
tmux ls
也可以通过快捷键操作 ctrl + b s 列出所有的 session。
进入 session
离开 session 之后,有时候我们还需要对某个 session 进行操作,这时候可以通过如下的操作:
tmux attach -t <session-name>
例如 session 名称是 test , 就可以通过 tmux attach -t test顺利进入 session, 也可以通过 tmux a -t test ,该命令中的 a 是 attach 的简写形式
关闭 session
如果需要关闭 session, 可以通过执行如下的命令即可:
tmux kill-session -t <session-name>
例如关闭test 这个session : tmux kill-session -t test, 也可以使用快捷键 ctrl + d 来关闭当前的 session。
切换 session
执行命令,可以从当前的 session 快速切换到另一个 session:
tmux switch -t <session-name>
重命名 session
tmux rename-session -t <old-session-name> <new-session-name>
例如: tmux rename-session -t test test2 该命令会把 test 这个 session 重新命名为 test2.
也可以通过快捷键 ctrl +b $ 来重命名当前的session 。
tmux 的窗格常用操作
切割窗格
切割窗格的命令是:
tmux split-window
该命令会把当前工作区域分成上下两个小窗格
tmux split-window -h
该命令会把当前工作区域分成左右两个窗格
切割窗格的快捷键 ctrl + b % 可以快速的左右切割,ctrl + b “ 可以快速的上下进行切割。
不同窗格间移动光标
tmux select-pane -U
把当前光标移动到上方的窗格
tmux select-pane -D
把当前的光标移动的下方的窗格
tmux select-pane -L
把当前的光标移动到左边的窗格
tmux select-pane -R
把当前的光标移动到右边的窗格
移动窗格光标的快捷键:
ctrl +b <arrow key>例如 ctrl +b ⬆ 会把光标移动到上方的窗格。
ctrl +b ;光标切换到上一个窗格
ctrl +b o 光标切换到下一个窗格
交换窗格的位置
tmux swap-pane -U
当前窗格向上移动
tmux swap-pane -D
当前窗格向下移动
关闭当前的窗格
关闭窗格通常使用快捷键 ctrl + b x
放大窗格
快捷键 ctrl + b z ,将会放大当前操作的窗格,继续触发该快捷键将会还原当前的窗格。
窗格显示时间
快捷键 ctrl +b t 将会把在当前的窗格当中显示时钟,非常酷炫的一个功能,点击 enter (回车键将会复原)。
窗格总结
关于窗格的操作我们经常操作的就是分割,移动光标,放大窗格,关闭窗格,可以熟练以上提到的操作,关于移动光标的快捷键操作,下文在 .tmux.conf 中也会处理成快捷键进行操作。
tmux 的窗口常用操作
创建窗口
有时候一个窗口不够用,这样我们就需要重新创建一个窗口:
tmux new-window -n <window-name>
例如: tmux new-window -n zempty 就是重新创建一个名字是 zempty 的window
创建窗口的快捷键ctrl + b c, 可以通过快捷键快速的创建一个窗口出来。
切换窗口
tmux select-window -t <window-name>
在已经有多个窗口的条件下,可以通过上名的命令快速进入指定的窗口当中,例如:tmux select-window -t zempty 会快速跳到 zempty 这个窗口当中。
关于切换窗口的快捷键 :
ctrl + b w 显示窗口列表可以通过 j ,k 上下进行选择窗口,然后回车进入指定的窗口。
ctrl + b n 快速切换到下一个窗口。
ctrl +b p 快速切换到上一个窗口。
重命名窗口
tmux rename-window <new-window-name>
例如 tmux rename-window test 把当前窗口名为 test
窗口命名快捷键:
ctrl + b , 该快捷键可以重新命名窗口
关闭窗口
tmux kill-window -t <window-name>
例如: tmux kill-window -t test 删除名称为 test 的窗口。
关闭窗口的快捷键:
ctrl + b & 可以关闭当前的的窗口
tmux 的配置文件 .tmux.conf
tmux 中的很多操作都是通过快捷键去实现的 ,在 tmux 中我们可以通过 ctrl + b ? 来查找 tmux 的帮助文档,可以查询一些功能键的快捷键信息 ,在帮助文档中按下键盘上的 ESC 或者 q 键就可以退出帮助文档。
在 tmux中有一个配置文件 .tmux.conf ,在其中可以配置一些方便自己的 tmux 快捷键信息等,该文件 .tmux.conf 默认放在 ~(家目录) 目录下面,如果没有可以在 ~ 目录下面创建一个 .tmux.conf 文件即可。
在tmux 中默认的前缀键是 ctrl + b ,可以通过配置文件改成 ctrl + a。
下面列出一份简单的 .tmux.conf 的配置文件,如下所示
#below reset tmux prefix command key
set -g default-terminal "screen-256color"
set -g prefix C-a
unbind C-b
bind C-a send-prefix
#set swap pane key
bind-key k select-pane -U
bind-key j select-pane -D
bind-key h select-pane -L
bind-key l select-pane -R
该配置文件把 ctrl + b 改成了 ctrl + a , 还有多个窗格之间切换光标可以通过 ctrl + x k 切换到上一个窗格, ctrl + x j 切换到下一个窗格, ctrl +x h 切换到左边的窗格,ctrl + x l 切换到右边的窗格。
来源:oschina
链接:https://my.oschina.net/u/3021599/blog/4712413