我是tmux的新手,并将窗口分成3个窗格,左半部分(主窗格),右上角和右下角。是否有可能我使用命令在左侧主窗格中打开一个可编辑文件,例如vim myFile.py
,myFile.py将在另一个窗格(比如右上窗格)中打开,以便始终可以在右上方的窗格中编辑文件并保持输入命令INT左侧主窗格?如何在Tmux的另一个窗格中打开文件
回答
这是可以使用vim的功能,但它与tmux没有任何关系。如果你正在使用的vim的版本是用+clientserver
选项编译的,那么有一种方法可以做到这一点。要检查,请在vim中运行:version
,然后查找+clientserver
。 vim的客户端服务器功能依赖于X11,所以如果你没有看到它,安装gvim可能会有所帮助。有关X11依赖关系的更多信息,请参阅https://unix.stackexchange.com/a/23601。
现在来谈谈如何使用它。首先,无论你想要设置你的tmux窗格。在您想要成为专用编辑器的窗格中,以下命令将创建一个vim“服务器”。
vim --servername tmuxEditor
现在从另外的窗格,您可以运行
vim --servername tmuxEditor --remote files...
编辑器将打开指定文件(S)。其它有用的命令是
vim --servername tmuxEditor --remote-tab files...
vim --servername tmuxEditor --remote-send keys
第一打开在单独的标签指定的文件(S),并且所述第二发送指定的键序列到服务器。
请参阅http://vimdoc.sourceforge.net/htmldoc/remote.html或在vim中运行:help remote
以获取有关vim客户端服务器功能的更多信息。
非常好。我只是补充一点,无论用什么命令创建vim服务器运行的窗格,都可以启动'vim'作为初始进程,而不是默认的shell。 – chepner
TL; DR:您可以使用tmux
在当前窗格以外的窗格中打开命令,但使用vim
的客户端/服务器功能的dpk2442解决方案可能更干净。
一种选择是在右上角的窗格中设置remain-on-exit
选项,然后使用respawn-pane
命令在窗格中开始vim
。
说右上窗格的窗格标识符为0:0.1
(会话0,窗口0,窗格1;您需要为您的设置调整此设置)。然后,您可以设置使用
tmux set-option -t 0:0 remain-on-exit on
的remain-on-exit
选项(这将在窗口中的任何窗格中,不仅仅在某个特定窗格中的选项。)
,使用
tmux respawn-command -k -t 0:0.1 vim myFile.py
打开vim
在由-t
选项的参数指定的窗格中。 -
k`确保已经在窗格中运行的任何命令被终止;如果您知道该窗格中当前没有任何内容正在运行,则可以省略它。
发出命令的长度,你可能会想定义一个shell函数在所需的窗格中展开vim
:
start_vim() {
tmux respawn-command -k -t 0:0.1 vim "$1"
}
,所以你可以只运行
start_vim myFile.py
- 1. 如何在VB.NET中打开另一个窗体的窗体?
- 2. 如何打开一个窗体,如果窗体位于另一个文件夹
- 3. 如何从另一个窗体打开窗体中的窗体
- 4. 当文件打开时避免打开另一个窗口
- 5. 如何在项目中打开另一个窗口(Xcode窗口)?
- 6. 如何在c backgroundworker中打开另一个窗体窗体#
- 7. 如何在同一个桌面窗格中从JInternalframe打开另一个JInternalframe
- 8. Dired - 在另一个Emacs窗口中打开文件
- 9. 如何在java中的另一个目录中打开文件?
- 10. tmux打开一个新窗口,但不是原来的一样
- 11. tmux:如何将2个打开的窗口并排放置?
- 12. 如何在另一个窗口中检查打开的URL?
- 13. 如何打开在另一个应用程序中打开的文件
- 14. TMUX脚本,打开两个窗格,紧密结合重点
- 15. BAT文件在另一个文件夹中打开另一个bat文件
- 16. 如何从另一个项目中打开一个新窗体
- 17. 如何重命名tmux中的窗格?
- 18. 从MDI中打开另一个孩子的窗口在MDI中打开窗口
- 19. 如何在DataGrip中打开一个新的SQL窗格?
- 20. 如何在另一个窗口中打开TextMate选项卡?
- 21. 如何创建一个打开另一个窗口(Mac)的NSButton?
- 22. 如何在NetBeans PLATFORM中打开“打开文件...”窗口?
- 23. 如何在关闭另一个窗口后打开一个弹出窗口?
- 24. pyQT4:如何从另一个窗口打开窗口
- 25. 如何从另一个孩子窗体打开孩子窗体?
- 26. 如何从另一个故事板打开一个窗口?
- 27. 写在PHP中的文本文件打开一个新窗口
- 28. 如何在pyQt4中打开另一个窗口(.py文件)后正确关闭窗口/小部件
- 29. 在Textmate中打开同一个文件的几个窗口
- 30. 如何从另一个(父母)打开fancybox窗口,打开第二个窗口后如何保留父窗口?
所以你要要在左上窗格中输入'vim myFile.py',但实际上在右上窗格中打开'vim',而使外壳在左上窗格中运行? – chepner
是的,但它似乎不可能... –