我希望Vim重用当前存在的实例(如果存在)。通常,Vim会弹出有关现有交换文件的警告。具体来说,这是为了在Vim和Visual Studio之间切换。 (我知道ViEmu,但它不适用于Visual Studio Express。)
答案 0 :(得分:6)
海报的解决方案:
<强>解决方案:强> Vim的标准发行版中有一个插件:runtime / macros / editexisting.vim。只需将其复制到Vim插件目录即可。
Visual Studio集成的额外详细信息:关注these steps将Vim添加为外部工具并指定方便的键盘快捷键:
注意我使用稍微不同的设置,因此光标设置为VS中的列并以Vim为中心:
然后将VS设置为automatically load chanages made from Vim:
为了有效地使用这两者 一起确保.NET没有 抱怨它的文件在变化, 转到工具&gt;选项&gt;环境&gt; 文件并确保这两个选项 检查:检测文件何时 改变了环境。 自动加载更改(如果不是当前 在环境中修改。)
最后将Vim设置为automatically load changes made from VS:
:设置autoread
我的解决方案
类似但略有不同:将其保存到.settings文件并导入。使用--servername
和--remote-call
重用现有的Vim,为当前解决方案量身定制。
<UserSettings>
<ApplicationIdentity version="8.0"/>
<ToolsOptions/>
<Category name="Environment_Group" RegisteredName="Environment_Group">
<Category name="Environment_ExternalTools" Category="{E8FAE9E8-FBA2-4474-B134-AB0FFCFB291D}" Package="{DA9FB551-C724-11d0-AE1F-00A0C90FFFC3}" RegisteredName="Environment_ExternalTools" PackageName="Visual Studio Environment Package">
<PropertyValue name="edit with v&im.Command">gvim.exe</PropertyValue>
<PropertyValue name="edit with v&im.Arguments">--servername $(SolutionFileName) --remote-silent +"call cursor($(CurLine),$(CurCol))" "$(ItemFileName)$(ItemExt)"</PropertyValue>
<PropertyValue name="edit with v&im.InitialDirectory">$(ItemDir)</PropertyValue>
<PropertyValue name="edit with v&im.SourceKeyName"/>
<PropertyValue name="edit with v&im.UseOutputWindow">false</PropertyValue>
<PropertyValue name="edit with v&im.PromptForArguments">false</PropertyValue>
<PropertyValue name="edit with v&im.CloseOnExit">false</PropertyValue>
<PropertyValue name="edit with v&im.IsGUIapp">true</PropertyValue>
<PropertyValue name="edit with v&im.SaveAllDocs">true</PropertyValue>
<PropertyValue name="edit with v&im.UseTaskList">false</PropertyValue>
<PropertyValue name="edit with v&im.Unicode">false</PropertyValue>
<PropertyValue name="edit with v&im.Package">{00000000-0000-0000-0000-000000000000}</PropertyValue>
<PropertyValue name="edit with v&im.NameID">0</PropertyValue>
</Category>
</Category>
</UserSettings>