Открытие файлов в Vim с помощью Fuzzy Search - PullRequest
46 голосов
/ 03 марта 2010

Я ищу способ, позволяющий Vim открыть файл путем нечеткого поиска по его имени.

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

Такая функциональность существует в большинстве редакторов, которые я видел, но я не могу понять, как заставить Vim сделать это.

Обратите внимание, что я ищу что-то, что не потребует , чтобы я знал, где в моем дереве каталогов находится файл. Я просто хочу иметь возможность открыть его по имени файла, независимо от того, в каком каталоге он находится.

Спасибо

Ответы [ 3 ]

55 голосов
/ 26 июня 2013

Для этого есть два замечательных плагина vim.

ctrlp :

  • Написано на чистом VimL
  • Работает практически везде
  • Поддержка пользовательских видоискателей для повышения производительности
  • Самый популярный нечеткий поисковый плагин для Vim

Command-T

  • Написано на C, VimL и Ruby
  • Быстро из коробки
  • Требуется +ruby поддержка в Vim
  • Рекомендует версию Vim> = 7.3

EDIT:

Я использую CtrlP с ag в качестве собственного пользовательского поиска, и он невероятно быстрый (даже в масштабных проектах) и очень портативный.

Пример использования ag с CtrlP :

if executable('ag')
  " Use Ag over Grep
  set grepprg=ag\ --nogroup\ --nocolor

  " Use ag in CtrlP for listing files. Lightning fast and respects .gitignore
  let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""'
endif
3 голосов
/ 07 августа 2010

CommandT для Vim очень похожа на TextMate. Мой рабочий процесс теперь

1) открыть MacVim

2): cd ~ / my_project

3) (у меня это сопоставлено, как описано в справке по установке)

4) C-v файл, чтобы открыть файл в вертикальном разделении, или CR, чтобы открыть новый горизонтальный раздел.

5), чтобы закрыть разделение, используйте: bd (удаление буфера)

6) чтобы переключиться на другой буфер, у меня установлен BufferExplorer, поэтому просто \ be и выберите

Этот рабочий процесс сопоставим с TextMate, к нему требуется время, и я все еще учусь.

2 голосов
/ 03 марта 2010
...