"Найти следующий" в vim


для поиска вперед в vim для cake, Я бы типа /cake, но курсор переходит к первому матчу, когда я нажимаю return. есть ли команда vim, аналогичная "найти следующий"?

7 445

7 ответов:

это n на следующий и N для предыдущего.

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

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

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

самый полезный ярлык в vim, IMHO, является * ключ.

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

The # ключ делает то же самое, но переходит к предыдущему экземпляру слова.

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

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

как искать в VIM

  1. тип/
  2. тип поиска например, "var"
  3. прессвведите
  4. на далее экземпляра печати n (для N)

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

введя n перейдем к следующему матчу.

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

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

Плюс, навигация prev / next с 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 отображение намного лучше.

Если вы нажмете ctrl+enter после нажатия чего-то вроде "/wordforsearch",то вы можете найти слово "wordforsearch" в текущей строке.Затем нажмите n для следующего матча; нажмите N для перивозного матча.