Я попробовал это:
:argdo /pattern
Тем не менее, он просто просматривал все файлы очень быстро и не останавливался в каждом месте, где была найдена строка. Я просто хочу перебрать все места, где находится строка, без замены.
Я попробовал это:
:argdo /pattern
Тем не менее, он просто просматривал все файлы очень быстро и не останавливался в каждом месте, где была найдена строка. Я просто хочу перебрать все места, где находится строка, без замены.
Vim имеет команду :sleep которую вы можете использовать в своей команде, чтобы сделать паузу на несколько секунд в каждом матче. Но лучшим решением, вероятно, было бы использование :vimgrep или даже :vimgrepadd для создания списка быстрых исправлений, включающего каждый файл, который затем можно выполнить самостоятельно с помощью :cnext/:cprev .
Вы, вероятно, найдете этот скринкаст очень поучительным.
Более простая (и менее мощная) и относительно неясная (читай :help :ilist) альтернатива:
:argdo ilist foo
:b <bufname>|<line number>
Вы можете использовать :vimgrep /pattern/ ## .
Эта команда будет искать в ваших файлах arglist (тот же список, который использует argdo ), загружать совпадения в список quickfix и затем переходить к первому совпадению. Затем вы можете использовать :cn для перехода к следующему совпадению.
Если вы часто используете quickfix, стоит установить vim-unimpaired. Это даст вам сопоставления клавиш для быстрой навигации по списку быстрых исправлений (например, ]q вместо :cn).
Эта страница дает хороший обзор vimgrep и списка быстрых исправлений. http://vimcasts.org/episodes/search-multiple-files-with-vimgrep/