vim repeat найти следующий символ 'x'


123

Я часто перемещаюсь в vim, f xчтобы найти следующее вхождение символа «x», но не замечаю, что есть слово (или несколько слов), содержащее «x» между словом, которое я хочу отредактировать, и начальной позицией курсора.

Так что я должен f xснова, что немного раздражает, поскольку есть эта красивая кнопка ., которая повторяет последнюю команду. Так есть ли способ повторить f xэто одним нажатием кнопки.

Ответы:


240

Команда на повторение символа f- ;(точка с запятой); ,(запятая) меняет направление поиска.


2
Есть ли полезная причина, по которой вы не можете использовать .это? Я ожидал, что эта команда сработает.
Дэниел Каплан,

4
@DanielKaplan Имеет смысл сопоставить движение, то есть поиск символа ( fи ;), с другим символом, чем повторение edit ( .). Это позволяет выполнять быстрый поиск и вносить изменения в результаты поиска. Если вы хотите заменить некоторые символы +в строке, *вы можете сделать что-то вроде этого (пропуская одни символы и заменяя другие):f+r*;.;;.;.;;;.
Маркус Краль

2
Есть ли способ переназначить эти команды? Многие используют ,в качестве лидера.
rk1

@ rk1 Измените лидера с помощью: let mapleader = "" (если вам нужен пробел)

@DrEval Конечно, но я хочу, чтобы мой лидер ,оставался таким же, как и обратный поиск. В любом случае, теперь я счастливый пользователь vim-easymotion.
rk1

18

Прошло время с тех пор, как я задал этот вопрос - в настоящее время я использую vim-easymotion , что делает необходимость в этом ;практически ненужной.

Этот плагин позволяет напрямую перейти к определенной букве - запуск плагина делает все буквы серыми, кроме всех «x» на экране - и они заменяются красными буквами, которые вы можете нажать, чтобы перейти непосредственно к ней.

easymotion в использовании

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.