有没有一种不用--servername就能区分gvim实例的方法?

有没有一种不用--servername就能区分gvim实例的方法?,vim,Vim,由于我的问题不可行,我正在寻求帮助。有什么方法可以区分gvim的不同实例吗 场景:我正在为vim制作一个轻量级实时LaTeX插件。目前,只要我只有一个gvim实例在运行,它就可以工作。但是,如果我有两个.tex文件在单独的窗口中打开,那么我用来让预览器yap与vim对话的命令 "C:\Program Files (x86)\Vim\vim73\gvim.exe" --remote +%l "%f 并不总是与正确的gvim运行实例对话。在我的上一个问题中,我试图使用--servername选项让

由于我的问题不可行,我正在寻求帮助。有什么方法可以区分gvim的不同实例吗

场景:我正在为vim制作一个轻量级实时LaTeX插件。目前,只要我只有一个gvim实例在运行,它就可以工作。但是,如果我有两个
.tex
文件在单独的窗口中打开,那么我用来让预览器yap与vim对话的命令

"C:\Program Files (x86)\Vim\vim73\gvim.exe" --remote +%l "%f
并不总是与正确的gvim运行实例对话。在我的上一个问题中,我试图使用
--servername
选项让它与正确的实例对话,但由于我通过右键单击->打开->gvim打开gvim,并且由于我无法在运行时设置服务器名,因此我无法让gvim的每个实例都获得唯一的服务器名


那么,是否有某种方法可以唯一地标识gvim的每个实例?我的最后一种方法是使用autohotkey解析窗口标题中的文件名,并通过autohotkey发送密钥,但我觉得应该有一种更简单的方法…

每个启动的Vim实例将自动具有唯一的
v:servername
;在Windows上,我得到了
GVIM
GVIM1
GVIM2


(Peter Rincker在评论中已经提到了。)

每个启动的Vim实例将自动具有唯一的
v:servername
;在Windows上,我得到了
GVIM
GVIM1
GVIM2


(Peter Rincker在评论中已经提到。)

您正在寻找
v:servername
?每个vim实例将自动将
v:servername
设置为不同的值。我想提出的想法与AsysnCommand中使用的技术以及vim wiki文章中提到的技术相同:哇,我真不敢相信我没有注意到服务器名是自动唯一的。现在我只需要一些方法来告诉yap哪个服务器名与哪个文件一起使用。我建议您更详细地描述您正在做的事情。您的插件是否正在侦听特定的autocmd事件,然后执行一些shell命令?如果是这样,这个shell命令是什么样子的。还是你在做一些不同的事情?也许是某种服务器/客户端架构?还是某种文件系统监视程序/inotify/FSevents文件监视方案?在没有更多信息的情况下,我建议您查看
:h clientserver
。让我们看看您是否在查找
v:servername
?每个vim实例将自动将
v:servername
设置为不同的值。我想提出的想法与AsysnCommand中使用的技术以及vim wiki文章中提到的技术相同:哇,我真不敢相信我没有注意到服务器名是自动唯一的。现在我只需要一些方法来告诉yap哪个服务器名与哪个文件一起使用。我建议您更详细地描述您正在做的事情。您的插件是否正在侦听特定的autocmd事件,然后执行一些shell命令?如果是这样,这个shell命令是什么样子的。还是你在做一些不同的事情?也许是某种服务器/客户端架构?还是某种文件系统监视程序/inotify/FSevents文件监视方案?如果没有更多的信息,我只能建议你调查
:h clientserver
。让我们-1来窃取(并承认这一点)一条评论并将其作为答案发布。为什么仇恨?我添加了示例信息,并避免了其他用户试图回答未回答的问题和筛选评论。我花了整整5个小时对
v:servername
做出了自己的回答,而Ingo在描述这个问题上做得很好。@PeterRincker:谢谢!我注意到你在不活动的情况下与OP聊天,你显然已经完成了,我只是觉得尽快结束这个话题是个好主意。-1感谢你窃取(并承认这一点)一条评论并将其作为答案发布。为什么仇恨?我添加了示例信息,并避免了其他用户试图回答未回答的问题和筛选评论。我花了整整5个小时对
v:servername
做出了自己的回答,而Ingo在描述这个问题上做得很好。@PeterRincker:谢谢!我注意到你在不活动的情况下与OP聊天,你显然已经完成了这项工作,我只是认为尽快结束这个话题是个好主意。