Поиск с конца файла с помощью VIM
Как выполнить поиск с конца файла с помощью VIM? Я хочу найти последнее событие XXXX в открытом файле.
Ответы
Ответ 1
Мое предложение - использовать диапазон в сочетании с поиском назад через ?
.
:1?XXXX
Обзор:
-
1?XXXX
- это диапазон.
-
1
означает первую строку файла.
-
?XXXX
означает поиск назад с первой строки (обертывание) до тех пор, пока вы не найдете шаблон XXXX
Как упоминал ZyX, это полагается на wrapscan
, который будет установлен по умолчанию. Подробнее см. :h 'wrapscan'
.
Ответ 2
Введите G$?XXXX
-
G
, чтобы перейти в конец файла
-
$
, чтобы перейти в конец строки
-
?
для поиска назад
-
XXXX
- это то, что вы хотите найти
Вы также можете сделать gg?XXXX
, который идет в начало файла, затем выполняет поиск назад, обертывая в конец файла. Однако для больших файлов он может медленно искать начало файла, а затем сразу до конца файла.
Ответ 3
перейдите к последней строке с помощью G
и выполните обратный поиск, используя ?XXXX
Ответ 4
Один из способов:
gg?<string>
Это поместит курсор в начало файла и выполнит обратный поиск. Поскольку vim не сможет перейти до положения курсора, он выполнит поиск, начинающийся с самого конца файла.