之前有使用过tmux,但是因为很长时间不用,现在忘了,只记得它是一个切割控制台的工具。 其他的快捷键,相关概念等都忘了。
现在想来之所以会忘,是因为之前一直使用window,同时最近两年来没有怎么玩过linux系统。使用的少了,很多快捷键也就忘了。
目前,自己切换到mac系统了,平时使用命令行也比较频繁,而且在命令行下面自己工作效率更高。也是时候捡起来tmux这款软件了。
需要注意:
tmux 对于屏幕或者显示器比较大的情况适应性很大,如果屏幕比较小,tmux的作用则不大,还不如多打开几个窗口。
当然可以借助C-b z 来切换当前窗格的大小。
tmux中的核心概念包括,session,窗口,窗格。 大部分命令都是围绕这些命令来完成的。
在介绍这些命令之前,先介绍一下tmux的前缀键。如果想使用tmux中的快捷键,我们必须使用tmux的前缀按键ctrl + b。在tmux中所有的快捷键都需要通过前缀键来唤起。
tmux 的前缀键ctrl + b ,位置间距比较大,可以在/etc/tmux.conf 中进行配置。 tmux的配置文件包括一个全局的配置文件/etc/tmux.conf, 还有一个位于用户当前路径下的 “.tmux.conf”,是一个隐藏文件。
session
-
tmux 新建一个tmux的session(会话),名称为数字编号,从1开始
-
tmux new -s 新建一个session会话,并且指定其名称
-
tmux detach (C-b d) 隐藏当前session。
-
tmux ls (C-b s) 查看session列表
-
tmux kill-session -t 关闭session。 关闭后,tmux ls 查看不到。 可以通过 ctrl + d 来删除当前session
-
tmux switch -t 切换session
-
tmux rename-session -t 切换session。
-
ctrl +b $ 重命名当前的session
窗口
窗格
-
tmux split-window (C-b %) 将当前工作区域分割为上下两部分
-
tmux split-window h (C-b “)将当前工作区域分割为左右两部分
-
ctrl +b 例如 ctrl +b ⬆ 会把光标移动到上方的窗格。
-
**ctrl +b ;**光标切换到上一个窗格
-
ctrl +b o 光标切换到下一个窗格
-
Ctrl + b x 关闭当前窗格
-
ctrl + b z 将会放大当前操作的窗格,继续触发该快捷键将会还原当前的窗格
-
这个比较有用,当需要在某个窗格工作的时候,将给窗格放大,不工作的时候,再缩小到原来的大小
-
Ctrl +b t 在当前窗格显示时间(时-分),点击enter 可以恢复
遇到的问题
- 执行如下命令
$> tmux attach -t <session-name>
错误信息:
sessions should be nested with care, unset $TMUX to force
原因:
你已经打开了一个tmux 会话,然后你在这个tmux会话中试图打开另一个tmux会话。
这种嵌套的,一层套一层的,在虚拟会话中声明活着打开另一个虚拟回话,是不好的。
解决方式:
直接在命令行打开或者新建
- tmux 分屏后无法移动屏幕
解决方法: C-B [ 之后就可以移动屏幕了