Как быстрее всего найти и открыть файл в MacVim? NERDtree — отличный плагин, но мне все еще приходится перемещаться (иногда очень глубоко) по дереву каталогов, чтобы добраться до нужного файла. Есть ли какие-либо функции, которые позволяют мне искать подстроку имени файла и отображать набор результатов, на который я могу щелкнуть?
Есть ли быстрый способ найти файл с помощью плагина macvim/NERDtree?
Ответы (7)
Поскольку мы все перечисляем здесь альтернативы, Command-T — это еще один плагин в стиле fuzzyfinder, который пытается имитировать Функция поиска textmate.
Документы можно найти здесь.
Вы также должны проверить встроенную команду :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
, определенная в этой подсказке.
Я использую fuzzyfinder.vim почти два года и очень люблю его.
Он поддерживает нечеткий поиск файла, например, чтобы найти файл foobar.rb, вы можете просто ввести «fb», чтобы получить соответствие foobar.rb, для навигации по файлу вы можете добавить «**/» перед именем файла, чтобы найти файл на любом уровне глубины. Он предоставляет больше режимов для нечеткого поиска каталога, последнего открытого файла, последней команды vim, тегов и т. Д., Вы даже можете определить свой собственный режим.
Если вам нравится способ TextMate, вы можете прочитать этот пост а> для более подробной информации.
Я долго пользовался fuzzyfinder, прежде чем нашел ctrp (https://github.com/kien/ctrlp.vim) Вы можете создать пользовательскую команду поиска, которая работает в Linux и Windows. Существуют некоторые возможные настройки ctrlp - Пропускать типы файлов или каталоги - Игнорировать файлы системы управления версиями (например: .git, hg,..) - Использовать внешнюю команду для создания списка файлов (например: команда «найти» в Linux) - Кэш список файлов...
Это не связано с плагином NERDtree, о котором вы говорили, но я думаю, вам следует взглянуть...
В том же духе, что и fuzzyfinder, используется PeepOpen. Я использую его в течение нескольких месяцев и теперь предпочитаю его fuzzyfinder. Это строго Mac и требует Snow Leopard.
Я добавил следующий плагин Nerdtree, который интегрирует grep как одну из опций в меню Nerdtree:
https://gist.github.com/masaakif/414375
Кажется, работает довольно хорошо, это эквивалентно "grep -r", и вы даже можете выбрать результат и отредактировать показанный файл.
Я использую Vim-Plug для управления плагинами Vim, замечательный плагин fuzzy finder с именем fzf.vim
на основе fzf. Если вы используете Vim-Plug, вы можете установить его так же просто, как показано ниже:
Plug 'junegunn/fzf', { 'do': './install --bin' }
Plug 'junegunn/fzf.vim'
Затем выйдите из Vim, снова откройте его и напишите:
:PlugInstall
После полной установки у вас может быть любой поиск, документы находятся здесь.