首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在现有Vim实例中打开文件而不是收到"existing swapfile“警告

如何在现有Vim实例中打开文件而不是收到"existing swapfile“警告
EN

Stack Overflow用户
提问于 2009-12-06 02:44:06
回答 1查看 1.4K关注 0票数 7

我希望Vim重用当前存在的实例。通常,Vim会弹出有关现有交换文件的警告。具体地说,这是为了在Vim和Visual Studio之间切换。(我知道ViEmu,但它不适用于Visual Studio Express。)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-12-08 05:48:42

Poster的解决方案:

解决方案:在Vim的标准发行版中有一个插件:runtime/宏/editexisting.vim。只需将其复制到Vim插件目录即可。

Visual Studio集成的额外细节:遵循these steps添加Vim作为外部工具,并分配一个方便的键盘快捷键:

目录标题:$(SolutionDir)

  • 命令: C:\Program
  • +$(CurLine) Vim目录:Vim

注意,我使用的设置略有不同,因此光标设置为VS中的列,并在Vim中居中:

正常游标参数:+"call

  • ($(CurLine),$(CurCol))“+"normal zz" $(ItemPath)

  • Initial :$(CurLine)

然后将VS设置为automatically load chanages made from Vim

为了有效地同时使用这两个选项,并确保.NET不会抱怨其文件更改,请转到工具>选项>环境>文档,并确保选中以下两个选项:当文件在环境之外发生更改时进行检测。自动加载更改(如果当前未在环境中修改)。

最后将Vim设置为automatically load changes made from VS

:设置自动读取

My Solution

类似,但略有不同:将其保存到.settings文件并导入。使用--servername--remote-call重用现有的Vim,为当前解决方案量身定做。

代码语言:javascript
复制
<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&amp;im.Command">gvim.exe</PropertyValue>
            <PropertyValue name="edit with v&amp;im.Arguments">--servername $(SolutionFileName) --remote-silent +"call cursor($(CurLine),$(CurCol))" "$(ItemFileName)$(ItemExt)"</PropertyValue>
            <PropertyValue name="edit with v&amp;im.InitialDirectory">$(ItemDir)</PropertyValue>
            <PropertyValue name="edit with v&amp;im.SourceKeyName"/>
            <PropertyValue name="edit with v&amp;im.UseOutputWindow">false</PropertyValue>
            <PropertyValue name="edit with v&amp;im.PromptForArguments">false</PropertyValue>
            <PropertyValue name="edit with v&amp;im.CloseOnExit">false</PropertyValue>
            <PropertyValue name="edit with v&amp;im.IsGUIapp">true</PropertyValue>
            <PropertyValue name="edit with v&amp;im.SaveAllDocs">true</PropertyValue>
            <PropertyValue name="edit with v&amp;im.UseTaskList">false</PropertyValue>
            <PropertyValue name="edit with v&amp;im.Unicode">false</PropertyValue>
            <PropertyValue name="edit with v&amp;im.Package">{00000000-0000-0000-0000-000000000000}</PropertyValue>
            <PropertyValue name="edit with v&amp;im.NameID">0</PropertyValue>
        </Category>
    </Category>
</UserSettings>
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1853052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档