Есть ли быстрый способ найти файл с помощью плагина macvim/NERDtree?

Как быстрее всего найти и открыть файл в MacVim? NERDtree — отличный плагин, но мне все еще приходится перемещаться (иногда очень глубоко) по дереву каталогов, чтобы добраться до нужного файла. Есть ли какие-либо функции, которые позволяют мне искать подстроку имени файла и отображать набор результатов, на который я могу щелкнуть?


person randombits    schedule 13.07.2010    source источник


Ответы (7)


Поскольку мы все перечисляем здесь альтернативы, Command-T — это еще один плагин в стиле fuzzyfinder, который пытается имитировать Функция поиска textmate.

Документы можно найти здесь.

person Randy Morris    schedule 14.07.2010
comment
Я использую Command-T пару месяцев в MacVim и клянусь им! Хотя я готов попробовать fuzzyfinder - person rossipedia; 14.07.2010

Вы также должны проверить встроенную команду :find.

Во-первых, вам нужно определить, в каких каталогах искать. Если вы хотите рекурсивно добавить подкаталоги /path/to/project в путь поиска, используйте:

:set path=/path/to/project/**

Затем вы можете открыть, например. /path/to/project/then/some/random/subdirectory/filename.ext, введя:

:find filename.ext

Чтобы открыть результат поиска в новой вкладке или на разделенном экране, попробуйте вместо этого :tabfind или :sfind.

Изменить

Я только что заметил, что вы ищете нечеткое сопоставление файлов, и в этом случае я не верю, что :find подходит для этой задачи. Однако вас может заинтересовать функция :Find, определенная в этой подсказке.

person jabirali    schedule 15.07.2010
comment
Это было чрезвычайно полезно, не знал, что он поддерживает find! Круто, теперь моя жизнь намного проще. Проголосовать за - person Matthew Stopa; 08.09.2011

Я использую fuzzyfinder.vim почти два года и очень люблю его.

Он поддерживает нечеткий поиск файла, например, чтобы найти файл foobar.rb, вы можете просто ввести «fb», чтобы получить соответствие foobar.rb, для навигации по файлу вы можете добавить «**/» перед именем файла, чтобы найти файл на любом уровне глубины. Он предоставляет больше режимов для нечеткого поиска каталога, последнего открытого файла, последней команды vim, тегов и т. Д., Вы даже можете определить свой собственный режим.

Если вам нравится способ TextMate, вы можете прочитать этот пост для более подробной информации.

person Vincent    schedule 14.07.2010

Я долго пользовался fuzzyfinder, прежде чем нашел ctrp (https://github.com/kien/ctrlp.vim) Вы можете создать пользовательскую команду поиска, которая работает в Linux и Windows. Существуют некоторые возможные настройки ctrlp - Пропускать типы файлов или каталоги - Игнорировать файлы системы управления версиями (например: .git, hg,..) - Использовать внешнюю команду для создания списка файлов (например: команда «найти» в Linux) - Кэш список файлов...

Это не связано с плагином NERDtree, о котором вы говорили, но я думаю, вам следует взглянуть...

person Phan Hai Quang    schedule 12.10.2013

В том же духе, что и fuzzyfinder, используется PeepOpen. Я использую его в течение нескольких месяцев и теперь предпочитаю его fuzzyfinder. Это строго Mac и требует Snow Leopard.

person Geoff Lanotte    schedule 14.07.2010

Я добавил следующий плагин Nerdtree, который интегрирует grep как одну из опций в меню Nerdtree:

https://gist.github.com/masaakif/414375

Кажется, работает довольно хорошо, это эквивалентно "grep -r", и вы даже можете выбрать результат и отредактировать показанный файл.

person Sam Critchley    schedule 14.03.2013
comment
При просмотре дерева в NERDTree я устанавливаю курсор на (под)каталог, в котором хочу выполнить поиск, а затем просто нажимаю m для вызова меню NERDTree, затем всплывает меню, и последний вариант — каталог (g)rep, так что вы нажимаете g искать. Те же правила применяются для цитирования текста, например. пробелы и специальные символы, как в grep. Кстати, ребята из Square поместили свою любимую настройку Vim в репозиторий под названием Maximum Awesomeness, который включает плагин. - person Sam Critchley; 01.10.2013

Я использую Vim-Plug для управления плагинами Vim, замечательный плагин fuzzy finder с именем fzf.vim на основе fzf. Если вы используете Vim-Plug, вы можете установить его так же просто, как показано ниже:

Plug 'junegunn/fzf', { 'do': './install --bin' }
Plug 'junegunn/fzf.vim'

Затем выйдите из Vim, снова откройте его и напишите:

:PlugInstall

После полной установки у вас может быть любой поиск, документы находятся здесь.

person AmerllicA    schedule 14.03.2020