it-swarm.com.ru

«Найти следующее» в VIM

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

478
Yktula

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

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

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

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

791
Xavier T.

Самый полезный ярлык в vim, ИМХО, это * ключ.

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

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

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

193
Rob Wells

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

Как искать в VIM

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

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

13
sam hocevar

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

12
Jim Deville

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

/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 намного лучше.

11
Micah Elliott

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

1
bass chuck