我是 tmux 的新手,将窗口分成 3 个 Pane ,左半部分(主 Pane )、右上角和右下角。是否有可能我使用命令在左主 Pane 中打开一个可编辑的文件,比如 vim myFile.py ,而 myFile.py 将在另一个 Pane 中打开,比如右上角的 Pane ,这样我总是可以在右上角的 Pane 中编辑文件并将输入命令保留在左主 Pane 中?

最佳答案

这可以通过使用 vim 的特性来实现,但这与 tmux 没有任何关系。如果您使用的 vim 版本是使用 +clientserver 选项编译的,那么有一种方法可以做到这一点。要检查,请在 vim 中运行 :version 并查找 +clientserver 。 vim 的客户端服务器功能取决于 X11,因此如果您没有看到它,安装 gvim 可能会有所帮助。有关 X11 依赖项的更多信息,请参阅 https://unix.stackexchange.com/a/23601

现在介绍如何使用它。首先,根据需要设置 tmux Pane 。在您希望成为专用编辑器的 Pane 中,以下命令将创建一个 vim“服务器”。

vim --servername tmuxEditor

现在从另一个 Pane 中,您可以运行
vim --servername tmuxEditor --remote files...

并且编辑器将打开指定的文件。其他有用的命令是
vim --servername tmuxEditor --remote-tab files...
vim --servername tmuxEditor --remote-send keys

第一个在单独的选项卡中打开指定的文件,第二个将指定的键序列发送到服务器。

有关 vim 的客户端服务器功能的更多信息,请参阅 http://vimdoc.sourceforge.net/htmldoc/remote.html 或在 vim 中运行 :help remote

关于bash - 如何在 Tmux 的另一个 Pane 中打开文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30851138/

10-13 05:13