2012-06-12 2 views
1

Есть ли способ установить PATH-подобную последовательность каталогов для поиска файлов в vim? Мой проект имеет файлы C, разделенные по многим каталогам, и было бы неплохо прыгать туда и обратно, не задумываясь о полном пути каждый раз.Поставить путь для редактирования файлов в VIM?

Например, если у меня есть:

platform/drivers/uart.c 
ui/display/menu.c 
cpu/registers/regs.h 

Я хотел бы быть в состоянии установить путь к «Платформа/драйвера: пользовательский интерфейс/дисплей: процессор/Регистры». Затем, когда я хочу, чтобы перейти к файлу, я могу просто напечатать:

:e uart.c 

вместо

:e platform/drivers/uart.c 

Я понимаю, что я могу изменить рабочий каталог, но тогда я должен ввести

:e ../../ui/display/menu.c 

, чтобы перейти в другой каталог.

В качестве альтернативы, существует ли лучший способ навигации по проекту, например, используя: редактировать?

+0

'man ctags' и': help tags' –

+0

ctags отличные, и я использую их для прыжков в символы. Однако в этом случае я хочу выбрать файл по имени. – FazJaxton

ответ

3

Существует, и это называется path. Способ использования path с командой :find: :find menu.c будет искать menu.c в каталогах в path и редактировать его. Существуют и другие команды, которые используют path, например :sfind, который открывает найденный файл в новом расколе. См. documentation of path для получения дополнительных сведений и других команд, которые его используют.

Еще одна вещь, которая может помочь вам найти ваши файлы - это **-wildcard, которые могут быть расширены до любого пути к каталогу. Например, :edit **/menu.c будет искать menu.c в подкаталогах, поэтому вы не помните и не вводите полный путь.

+0

Я посмотрел на «путь», но он не работает с ': edit'. Если у меня есть другой рабочий каталог и введите ': e uart.c', он создаст новый uart.c в текущем каталоге, а не найдет uart.c в пути. Однако: e ** uart.c, похоже, делает то, что я хочу. Благодаря! – FazJaxton

Смежные вопросы