Решение автора:
Решение:
В стандартном дистрибутиве Vim есть плагин: runtime / macros / editexisting.vim. Просто скопируйте его в каталог плагинов Vim.
Дополнительные сведения об интеграции Visual Studio: Выполните эти шаги , чтобы добавить Vim в качестве внешнего инструмента и назначить удобное сочетание клавиш:
- Название: Vim
- Команда: C: \ Program Files \ Vim \ vim70 \ gvim.exe
- Аргументы: + $ (CurLine) "$ (ItemPath)"
- Начальный каталог: $ (SolutionDir)
Примечание. Я использую немного другие настройки, поэтому курсор устанавливается на столбец из VS и центрируется в Vim:
- Аргументы: + "курсор вызова ($ (CurLine), $ (CurCol))" + "normal zz" $ (ItemPath)
- Исходный каталог: $ (FileDir)
Затем установите VS на , чтобы автоматически загружать изменения, сделанные из Vim :
Чтобы эффективно использовать два
вместе и убедитесь, что .NET не
пожаловаться на изменение файлов,
выберите Инструменты> Параметры> Среда>
Документы и обеспечить эти два варианта
проверены: определить, когда файл
изменился за пределами окружающей среды.
Автозагрузка изменений (если не в данный момент
модифицирован внутри среды).
Наконец, установите Vim на автоматически загружать изменения, сделанные из VS :
: установить авточитание
Мое решение
Аналогично, но немного отличается: сохраните это в файле .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>