因爲我的問題Setting servername in vimrc as opposed to command line switch原來不可行,所以我在尋求幫助。除了gvim的不同實例外,有什麼方法可以分辨出來嗎?有沒有辦法告訴gvim的實例,而不使用--servername?
場景:我正在爲vim製作一個輕量級的實時LaTeX插件。目前它只要我只有一個gvim運行的實例就可以工作。但是,如果我在單獨的窗口中打開兩個.tex
文件,命令我使用讓我的預覽,邑,談vim的
"C:\Program Files (x86)\Vim\vim73\gvim.exe" --remote +%l "%f
並不總是跟GVIM運行的正確實例。在我之前的問題中,我試圖使用--servername
選項來讓它與正確的實例對話,但是由於我通過右鍵單擊 - >使用 - > gvim打開gvim,並且因爲我無法在運行時設置servername ,我無法獲得gvim的每個實例來獲取唯一的服務器名稱。
那麼有什麼方法可以唯一標識每個gvim實例嗎?我最後的手段是使用autohotkey解析窗口標題中的文件名並通過autohotkey發送密鑰,但我覺得應該有一個更簡單的方法...
你是否在尋找'五:servername'? – 2012-08-17 01:20:25
如果你閱讀第一句中鏈接到的問題的答案,你會發現'v:servername'是隻讀的,只能由'--servername'開關設置,這個問題是避免的。 – nullUser 2012-08-17 01:28:44
每個vim實例都會將'v:servername'設置爲不同的東西。我想提出的想法與AsysnCommand中使用的技術以及本vim wiki文章中提到的技術相同:http://vim.wikia.com/wiki/Execute_external_programs_asynchronously_under_Windows#Getting_results_back_into_Vim – 2012-08-17 01:46:16