2014-09-22 53 views
2

我正在尋找將文件打開到現有vim會話的想法。將文件打開到現有的vim會話中(Cygwin/mintty)

我正在使用Windows + Cygwin + Mintty。我通常有3到4個開放的終端(2-3個vim會話+ 1個shell,構建環境)。我不使用tmux/screen,因爲使用本地Windows的窗口管理器可以更輕鬆地在我的終端窗口之間切換。因爲我有兩臺寬屏幕顯示器,所以我可以使用兩個屏幕的一半作爲我的終端,這給我一個很棒的工作環境。在AHK腳本的幫助下,我可以使用快捷方式切換/旋轉,甚至可以將終端重新定位到所需的位置。

我更喜歡vim而非gvim,原因很多。我可以實現幾乎所有的gvim功能(滾動,鼠標選擇,複製,粘貼等)。我是那些認爲在需要使用大量其他軟件時使用可尊敬的y/P命令有點麻煩的人之一/。我總是感到困惑,因爲我正在使用的每個軟件都使用不同的快捷鍵。

現在的核心問題,我想從Windows資源管理器打開一個文件到現有的vim會話中。 Perl腳本與Win32 :: API,以便在標題中查找現有的帶有Vim的mintty終端,然後激活該窗口並向其發送<esc>:e path/file<cr>

它工作得很好,但我正在尋找更好的解決方案如gvim --remote,這工作無線我的控制檯vim。不幸的是,即使我使用-with-x配置選項構建它,我也沒有這樣的選項。

於是,我找了一些建議,以實現更體面的解決方案(插座/直接/添加功能,VIM使用更智能的AHK腳本的/ etc。)

+0

你是什麼意思'發送:e路徑/文件它?什麼是「發送」,什麼是「它」? – SzG 2014-09-22 18:48:58

+1

如果您啓用通過User32.dll運行vim的mintty窗口的焦點,則可以將擊鍵發送到vim會話。因此,您可以打開要打開的文檔,就好像您輸入了':e <您要編輯的文件的路徑>'我看到了' – nowox 2014-09-22 19:00:48

+0

!聰明... – SzG 2014-09-22 20:15:34

回答

2

gvim --remote如果你一開始應與控制檯vim的工作vim與vim --servername GVIM。或者,選擇另一個服務器名稱並使用vim --servername foo --remote

+0

我的vim沒有'--servername'選項 – nowox 2014-09-23 09:42:50

相關問題