我是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
是的,但它似乎不可能... –