2013-02-05 19 views
2

用vim我可以這樣做:在Vim中,我如何拆分編輯服務器上的文件?

gvim --servername things --remote-silent \temp\foo1.txt 

如果我沒有gVim的與服務器名稱,將創建一個新的。如果我然後執行此命令:

gvim --servername things --remote-silent \temp\foo2.txt 

然後我將編輯foo2.txt

我想要的是能夠拆分編輯。基本上我希望能夠多次執行一個命令,因爲我想將幾個不同的文件發送到每個新文件的新緩衝區中的同一個窗口 - 我已將Visual Studio安裝爲能夠啓動當前文件一個GVim實例,但它每次都會啓動一個新實例,並且我希望它能夠將文件保持爲同一個實例。

these docs,它說我可以做--remote-silent [+{cmd}] {file},所以我嘗試添加"+split",但最終打開了兩個緩衝區。

gvim --servername things --remote-silent "+split \temp\foo2.txt" \temp\foo2.txt 

我需要使用什麼命令?

回答

1

有趣的是,有--remote-silent--remote-tab-silent,但沒有--remote-split-silent

您必須將:split發送的Vim命令:

gvim --servername things --remote-send "<C-\><C-n>:split \temp\foo2.txt<CR>" 

以Vim解釋字符類型,則需要包括特殊鍵<CR>結束命令。 <C-\><C-n>是從任何當前模式進入正常模式的Vim命令。

+0

這個並不完全符合我的需要,因爲我必須有兩個單獨的命令 - 一個用於初始文件,然後是一個用於之後的所有文件。 –

+0

對於我來說,當Vim實例還不存在時,我會用'--remote-send'來得到'E247'。但是,您可以在包裝腳本中使用該錯誤,那麼您可能必須使用'--remote-silent'回退到初始命令。 –

+0

這很好,我想 - 我有一個命令,最初打開服務器,然後另一個將發送新文件。 –

相關問題