«Найти следующее» в VIM - PullRequest
482 голосов
/ 07 июля 2011

Для поиска вперед в vim для cake, я бы набрал /cake, но курсор переходит к первому совпадению, когда я нажимаю return Есть ли команда vim, аналогичная "find next"?

Ответы [ 7 ]

796 голосов
/ 07 июля 2011

Это n для следующего и N для предыдущего.

И если вы используете обратный поиск с ? (например, ?cake) вместо /, это наоборот.

Если он установлен в вашей системе, вы должны попытаться запустить команду vimtutor со своего терминала, которая запустит учебник по основным командам Vim.

Совет Роба Уэллса о * и # также очень уместен.

198 голосов
/ 07 июля 2011

Самый полезный ярлык в vim, IMHO, это клавиша *.

Наведите курсор на слово и нажмите клавишу *, и вы перейдете к следующему экземпляру этого слова.

Клавиша # делает то же самое, но переходит к предыдущему вхождению слова.

Действительно экономит время.

70 голосов
/ 05 мая 2014

Когда я начинал, мне нужно было посмотреть демо

Как искать в VIM

  1. тип /
  2. введите поисковый запрос например, "Вар"
  3. нажмите введите
  4. для следующего экземпляра нажмите n (для предыдущего N )
14 голосов
/ 07 июля 2011

Вы ищете n ключ?

13 голосов
/ 07 июля 2011

Набрав n , вы перейдете к следующему совпадению.

11 голосов
/ 14 августа 2015

Как уже говорилось, есть несколько способов поиска:

/pattern
?pattern
* (and g*, which I sometimes use in macros)
# (and g#)

плюс, навигация назад / вперед с N и n .

Вы также можете редактировать / вызывать историю поиска, открыв строку поиска с помощью /, а затем цикл с помощью C-p / C-n. Еще более полезным является q/, который открывает окно, в котором вы можете перемещаться по истории поиска.

Также для рассмотрения важен 'hlsearch' (введите :hls, чтобы включить). Это значительно упрощает поиск нескольких экземпляров вашего шаблона. Возможно, вы даже захотите сделать ваши спички ярче, например:

hi Search ctermfg=yellow ctermbg=red guifg=...

Но тогда вы можете сойти с ума от постоянных желтых совпадений по всему экрану. Так что вы часто будете использовать :noh. Это так часто, что отображение в порядке:

nmap <leader>z :noh<CR>

Я легко запомнил это как z, так как я постоянно набирал /zz<CR> (что является быстрым типом необычного вхождения), чтобы очистить мое выделение. Но отображение :noh намного лучше.

1 голос
/ 16 октября 2017

Если вы нажмете Ctrl + Enter после того, как нажмете что-то вроде «/ wordforsearch», тогда вы можете найти слово «wordforsearch» в текущей строке. Затем нажмите n для следующего совпадения; нажмите N для фактического совпадения.

...