Tmux 的使用

1,003 阅读2分钟

之前有使用过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 可以恢复

遇到的问题

  1. 执行如下命令

$> tmux attach -t <session-name>

错误信息:

sessions should be nested with care, unset $TMUX to force

原因:

​ 你已经打开了一个tmux 会话,然后你在这个tmux会话中试图打开另一个tmux会话。

​ 这种嵌套的,一层套一层的,在虚拟会话中声明活着打开另一个虚拟回话,是不好的。

解决方式:

​ 直接在命令行打开或者新建

  1. tmux 分屏后无法移动屏幕

解决方法: C-B [ 之后就可以移动屏幕了

参考资料

zhuanlan.zhihu.com/p/102546608