Tmux是一个非常有名的终端复用工具,可以方便地让我们在一个终端里面分多个窗口。如下图所示:
同时,当我们使用ssh登录远程Linux服务器时,先启动Tmux,再在Tmux的窗口中运行代码。此时,即时网络断开或者直接关闭终端窗口,远程服务器上的代码也不受影响,重新ssh登录上去以后可以继续查看。
但是,Tmux有一个非常麻烦的地方,就是它的快捷键很奇怪,大部分命令都需要 Ctrl+B
一起按,然后松开,然后再按另一个键。而且默认情况下在Tmux的窗口里面没有办法使用鼠标滚动屏幕。如果开启鼠标模式滚动屏幕,又不能选中并复制。
如果你在macOS下面使用iterms2这个终端模拟器,那么要解决这个问题实际上非常简单,启动Tmux的时候,你只需要使用如下命令:
tmux -CC
此时,会自动打开一个新的终端窗口,如下图所示:
其中左边是原来的窗口,右边是新打开的窗口。右边这个新的窗口,就是Tmux的 里面
。在这里,你进行的所有操作都是在Tmux的session中进行的操作。
而且,你不需要记忆Tmux的任何快捷键。如果要分屏,你只需要使用iterms2自带的快捷键:
Command+D
: 左右分屏Command+Shift+D
: 上下分屏分出来的效果如下图所示:
所有的操作都使用iterms2自带的快捷键进行。
鼠标完美支持,滚动屏幕完全正常。
如果你要暂时关闭Tmux窗口,但是又不想停止Session,那么只需要在左边的窗口按下 Esc
键即可。想重新打开之前的Session的时候,只需要执行 tmux-CC attach
即可。
如果你现在已经ssh连接到远程服务器了,那么你执行 tmux-CC
的时候,iterms2也会自动打开一个新的窗口,这个窗口里面就是远程服务器上面的Tmux session。不需要做任何额外设置。