因为我的问题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