Как дела возрастающий поиск через несколько текстовых файлов в VIM?

Существует ли способ иметь VIM, делают возрастающий поиск на текстовых файлах?

Vim уже делает возрастающий поиск в в настоящее время открытом файле.

Примерами программ, которые демонстрируют тип поиска, который я пытаюсь выполнить, является Письменная Скорость для MacOS, Перекусок для окон или SimpleNote для сети.

Эти приложения делают мгновенный или возрастающий поиск в файлах определенного каталога и делают легким/быстрым сузить файл, который Вы ищете или создаете новый файл.
Я использую обоих, но жил бы в одном редакторе. (тот являющийся VIM)

Есть ли, некоторые включают, который сделал бы это?

6
задан 10.03.2016, 17:39

1 ответ

Вы могли использовать vimgrep команда, например:

:vimgrep /searchword/ ~/**

Посмотрите

:help vimgrep

для деталей.

4
ответ дан 07.12.2019, 15:53

Еще нет. Получение хорошей возрастающей поисковой производительности, вероятно, потребовало бы, чтобы кто-то записал плагин в c, который загружает файлы в большую оптимизированную структуру данных. Может быть способ взломать энергию для выполнения grep по целой базе данных каждый раз, когда Вы нажимаете клавишу, но это, вероятно, не было бы достаточно быстро.

Для примера плагина энергии с открытым исходным кодом, который делает возрастающий поиск (на именах файлов, не содержании файла, к сожалению), Вы могли посмотреть на плагин команды-t:

https://wincent.com/products/command-t

Другое техническое ограничение, с которым можно было бы столкнуться, при попытке загрузить целую базу данных примечаний в буферы энергии, - то, что каждый пользователь по умолчанию ограничен 1 024 одновременно открытыми файлами, и много баз данных примечания содержат больше примечаний, чем это. Предел может быть снят довольно легко, но пользователям не придется иметь дело с такими вещами.

3
ответ дан 07.12.2019, 15:53

Существует хороший плагин, который делает точно это, но с буферами: LustyExplorer.

Существуют также другие плагины, которые делают почти что с файлами: EasyGrep и Ack, но ни один не делает возрастающий поиск.

Первый (и другие, и NV или Примечания Resoph) может сделать возрастающий поиск, потому что все файлы находятся в памяти, работая как своего рода база данных. Кажется немного более трудным реализовать на случайных файлах.

Я действительно хотел бы видеть такую функциональность в Vim, потому что я просто переместился в полный рабочий день Linux и нет никакой Письменной Скоростной замены, о которой я знаю. NV был центральной частью моего рабочего процесса на Mac OS X, и это - на самом деле единственные пропавшие без вести части прямо сейчас. Объяснение Drew Wagner проблемы и суждения для решения кажется интересным.

2
ответ дан 07.12.2019, 15:53

Теги

Похожие вопросы