tmux内联使用方法
tmux非常好用,但是跟vim一样,也是建立在配置纯熟的前提下。
当然即使配好了,还是有很多痛点……
比如内联使用就是其中一个。
所谓内联,就是:
1、首先在本机运行了tmux,切分出一个面板
2、在这个面板里ssh到远程主机,又进入远程主机的tmux环境
3、这时候远程tmux就傻眼了,因为所有命令都被本地主机上的tmux响应
4、那么如何在本地和远程tmux之间来回切换操作对象呢?
在用tmux自身方式解决这个问题之前,只能开两个终端,在另一终端去ssh,一般的终端软件都支持tab功能,用快捷键切换tab,也还能接受。缺点是难以把两个不同主机的shell拼在一屏里显示,而且经常在本地终端习惯性的就敲ssh了,强制分离总是不便
后来实在忍受不了,在google上到处搜索尝试,终于找到了tmux自身解决之道,原理很简单:
给本地tmux配置两套
key-table
,切换到远程tmux时,使用新的key-table
,并将prefix
设为None
,这样一来,所有基于原prefix
的操作指令都不再被本地tmux拦截,而是发到远程处理。同时,也要给新的key-table
设置退出键,以便恢复到本机模式。
下面是配置的关键部分:
1 | #按F12切换到内嵌tmux,在macos里需要系统设置中取消F12占用 |