Как задать альтернативный путь поиска для a.vim?

Как задать альтернативный путь поиска для a.vim?

Недавно я узнал оа.vimчто, как я вижу, может принести большую пользу при разработке исходного кода на C или C++. Теперь, для одного из моих текущих проектов это работает просто отлично из коробки, но для другого мне нужно будет задать два альтернативных пути поиска, чтобы заставить его работать соответствующим образом, и я пока не нашел, как это сделать, я попробовал следующее из командной строки vim: :let g:alternateSearchPath "../../../include/pathA/"но это ничего не дало. Как мне правильно задать g:alternateSearchPathпеременную?

решение1

Можешь попробоватьvim-проекционист

Этот плагин обеспечивает более общее применение.


Добавьте несколько полезных советов для этого плагина:

Это не может работать так, как a.vimдо того, как вы выполните какой-то шаг ниже

  1. Вы можете добавить .projections.jsonдля этого проекта и написать
{
    "src/*.c" : {"alternate":"include/{}.h"},
    "include/*.h" : {"alternate":"src/{}.c"}
}
  1. Если вам надоело писать каждый проект в .projections.jsonфайле, вы можете установить поведение по умолчанию вvimrc
  let g:projectionist_heuristics = {
      \   "*" : {
      \       "*.c": { "alternate": "{}.h" },
      \       "*.h": { "alternate": "{}.c" }
      \   }
      \ }

Здесь ключ *используется для выбора проекта, в котором вы хотите использовать эти настройки. Это означает, что каждый проект будет использовать .hфайл в качестве .cальтернативного файла.

  1. Если вы группируете все свои проекты cpp в каталоге, например, "$HOME/MyCppProjects/...", то следующие настройки могут быть более подходящими:
  let g:projectionist_heuristics = {
      \   "MyCProjects/" : {
      \       "*.c": { "alternate": "{}.h" },
      \       "*.h": { "alternate": "{}.c" }
      \   },
      \   "MyCppProjects/" : {
      \       "*.cpp": { "alternate": "{}.h" },
      \       "*.h": { "alternate": "{}.cpp" }
      \   },
      \ }

или вы можете задать g:projectionist_heuristicsразные типы файлов (я не пробовал, но думаю, что это может быть нормально).

Связанный контент