如何在 Tmux 的另一个窗格中打开文件

Eme*_* Xu 4 bash terminator tmux

我是 tmux 的新手,并将一个窗口分成 3 个窗格,左半部分(主窗格)、右上四分之一和右下四分之一。我是否可以使用命令在左侧主窗格中打开一个可编辑文件,例如vim myFile.py,并且 myFile.py 将在另一个窗格中打开,例如右上窗格,这样我就可以始终在右上窗格中编辑文件,并且将输入命令保留在左侧主窗格中吗?

小智 5

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

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

vim --servername tmuxEditor
Run Code Online (Sandbox Code Playgroud)

现在从另一个窗格中,您可以运行

vim --servername tmuxEditor --remote files...
Run Code Online (Sandbox Code Playgroud)

编辑器将打开指定的文件。其他有用的命令是

vim --servername tmuxEditor --remote-tab files...
vim --servername tmuxEditor --remote-send keys
Run Code Online (Sandbox Code Playgroud)

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

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