在 Tmux 中,如何将特定程序分配给特定窗口,以便从 Tmux 中另一个窗口中的 shell 对该程序的所有调用都将转到该程序?一个例子是一个让 Vim 保持打开状态的窗口。
所以在这个例子中,每当我vim myfile.txt
在 Tmux 的 shell 窗口中输入时,我都会在 Tmuxmyfile.txt
的 vim 窗口中看到。
没有通用的方法可以做到这一点,因为每个程序对此都有不同的处理方式,但是 vim 有一个客户端-服务器模式,可以满足您在这种特定情况下的需求。
首先,在服务器模式下启动vim:
vim --servername foo
Run Code Online (Sandbox Code Playgroud)
现在您可以从其他地方打开该 vim 实例中的文件:
vim --servername foo --remote-tab file
Run Code Online (Sandbox Code Playgroud)
这需要vim
使用+clientserver
. 在 Debian 上,该vim-gnome
软件包包含具有客户端-服务器功能的 vim 版本。其他一些发行版也有类似的包。