NERDTree
- мой лучший плагин для vim. Чтобы найти файл или каталог, я перемещаю курсор к древовидному представлению и использую /
. Но я до сих пор не знаю, как найти элемент файла в свернутом (закрытом) дереве. NERDTree
не поддерживает это? Как вы находите файл?
2 ответа
Имя файла отсутствует в буфере NERDTree, поэтому /pattern
не будет работать. Вам придется использовать другие инструменты, чтобы достичь своей цели.
Если файл находится в каталоге, который является частью path
Vim, вы можете использовать :find
следующим образом:
:find filename
:find fil<Tab>
:find pattern
Смотрите :help path
о том, как добавить каталоги.
Вы также можете сделать :e /path/to/directory<Tab>
.
Используя **
вы также можете заставить Vim просматривать подкаталоги:
:e /path/**/user<Tab>
позволит вам выбрать из списка всех файлов, начиная с user
. Это довольно опрятно.
Если рабочий каталог Vim является каталогом текущего буфера (это не автоматически, смотрите :help autochdir
), что-то вроде
:e ../../**/*.json
принесет список всех файлов JSON в вашем проекте. Ну, я не знаю, как устроен ваш проект, но вы поняли.
Смотрите подробности в :help file-searching
.
Кроме того, вы можете использовать плагин. CtrlP - это хороший и мощный "нечеткий" плагин для навигации по файлам, который делает одну вещь, которую я считаю очень полезной: при вызове он просматривает вверх и вверх, пока не найдет "маркер" VCS (например, каталог .git) и использует это отправная точка для вашего поиска. Это делает открытие файлов в текущем проекте практически "веселым".
Вы можете использовать GPicker в качестве альтернативы CtrlP или CommandT (клон функции Textmate) - он написан на C и очень быстр, он хорошо интегрируется с VIM или emacs. Инструкция по установке на моем блоге.
http://blog.wysocki.org.pl/2012/06/vim-gpicker-sublimetext-2-like-files.html