Подтвердить что ты не робот

Открытие файлов в Vim с использованием нечеткого поиска

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

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

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

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

Спасибо

4b9b3361

Ответ 1

Для этого есть два больших плагина 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

Ответ 2

CommandT для Vim - очень похожая функция, как в TextMate. Теперь мой рабочий процесс

1) откройте MacVim

2): cd ~/my_project

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

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

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

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

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