Большинство текстовых редакторов IDE будут, когда вы ищете определенную строку, отображаете информацию типа «это совпадение 3 из 7». Есть ли способ заставить Vim отображать эту информацию при переходе к совпадению с использованием n
и N
?Показание количества совпадений во время инкрементного поиска
ответ
From Show Count of Matches in Vim:
То, что вы хотите, вероятно, плагин IndexedSearch.
При выполнении /set
он будет отображать количество, а поисковый запрос в командной строке:
Match 5 of 81 /set/
Установите его, используя ваш любимый менеджер плагинов. Я рекомендую Vundle.
Это именно то, что я хотел, спасибо! – bdesham
Самый распространенный способ - использовать флаг n
с командой подстановки.
:%s/set//gn
Или используйте текущий шаблон через :%s//gn
. Это дает вам некоторые отзывы, которые вы просили.
Однако я предпочитаю использовать :vimgrep
и список быстрых ошибок. Поиск вашего шаблона с помощью:
:vimgrep/set/ %
Этот поиск текущего файла, %
, и добавляет спички к списку QuickFix. Затем вы можете переместить список быстрого списка через :cnext
или :cprevious
. После перемещения по списку быстрого списка текст будет отображаться внизу, показывая что-то вроде этого (1 of 5)
. С помощью команды :copen
откроется окно с результатами быстрого устранения. Перейдите к шаблону, нажав <cr>
на элемент быстрого исправления.
Есть некоторые недостатки в использовании :vimgrep
.
:vimgrep
от Vim 7.3 не поддерживает использование текущего шаблона т.е. не:vimgrep// %
. Вместо этого нужно использовать<c-r>/
, чтобы вытащить регистр шаблонов поиска и, возможно, избежать любых/
.- Использование
%
для текущего файла означает, что файл должен существовать, поэтому вы не можете искать буфер нуля. :cnext
,:cprev
, и друзья довольно многословные по сравнению с красивыми и простымиn
иN
. Добавление приятных сопоставлений может преодолеть это. Я использую[q
и]q
от великолепного плагина unimpaired Тима Поупа.
Для получения дополнительной справки смотрите:
:h :s_flags
:h :vimg
:h c_CTRL-R
:h quote/
:h quickfix
:h c_%
- 1. Компонент инкрементного поиска DBGrid
- 2. Реализация инкрементного поиска в mysql
- 3. Neo4j - Несоответствие количества совпадений
- 4. Реализация инкрементного поиска в emacs
- 5. UIActivtyIndicator во время поиска
- 6. Maven replacer plugin - повторить во время совпадений
- 7. Тик передать парсер данные во время инкрементного чтения
- 8. Обнаружение сложенной строки или инкрементного поиска (?)
- 9. Переключить подсветку во время поиска в Vim
- 10. OutOfMemoryError во время эвристического поиска
- 11. Расширение файла во время поиска
- 12. Время, указанное во время поиска в google
- 13. Подсчет количества успешных поразрядных совпадений
- 14. Emacs стиль подсветки для инкрементного поиска в vim
- 15. Алгоритм поиска потенциальных совпадений
- 16. Отображение количества символов во время ввода пользователем?
- 17. TestNG: Изменение количества потоков во время выполнения
- 18. Изменение количества элементов массива во время моделирования
- 19. Откат определенного количества транзакций во время выкупа?
- 20. инкрементного импортно Во избежание дублирования строк
- 21. Выполнение инкрементного поиска регулярных выражений в огромных строках (Python)
- 22. Поиск совпадений во временных диапазонах
- 23. Сделайте только одно показание строки после поиска. flexgrid vb6
- 24. Имя таблицы совпадений и псевдоним во время выполнения из DatabaseMetaData?
- 25. Регулярное выражение поиска во время Vim заменить
- 26. Булевы операторы во время поиска в Меньше?
- 27. Lucene: Загрузка файлов индекса во время поиска?
- 28. Maven - зависимостей поиска во время выполнения
- 29. smartsheet api точное совпадение во время поиска
- 30. Ошибка диапазона WinDbg во время поиска.
Я не думаю, что «инкрементный поиск» означает, что вы думаете, что это означает. – romainl
@romainl Да, я думаю, ты прав. Хотя было бы неплохо, если бы я мог видеть «матч 3 из 7», даже когда я набираю строку поиска. – bdesham
@bdesham Для того чтобы поиск был как инкрементным ('set incsearch'), так и отображать количество совпадений, ему приходилось подсчитывать их каждый раз, когда вы добавляете символ в поиск. Это может оказаться очень ресурсоемким, так что, вероятно, это не очень хорошая идея.Более того, если вы используете такой плагин, как IndexedSearch, его невозможно отобразить в командной строке, которая уже закрыта '/ search'. Вам нужно будет интегрировать его с вашей статусной линией или чем-то еще. В общем, я бы сказал, что проще просто перейти на IndexedSearch и нажать '', как вы знаете, что искать :-) –
timss