Начиная использовать vim в качестве макроса, есть ли команда f
, но вместо того, чтобы ловить один символ, я хочу поймать несколько символов? Хотя я знаю, что могу использовать /
, я не видел, что могу повторить его с ;
, чтобы доставить меня к следующей цели только с f
3 ответа
Вы можете перейти к следующей цели с помощью n
и к предыдущей с помощью N
при использовании /
.
Если ваша проблема в том, что /
является интерактивным (имеется в виду: вы должны что-то печатать), и вы хотите использовать это в макросе с фиксированным значением, тогда вы все равно можете это сделать.
Например, если вы делаете:
:map g /something^M
Затем вы нажмете g
, он будет искать строку something
.
Помните, что ^M
является комбинацией клавиш Ctrl + V , за которыми следует Ctrl + M
Как примечание стороны, то же самое происходит, когда вы хотите ввести текст и вернуться в обычный режим:
:map g 0i--^[j
Если вы нажмете g
, он вставит --
в начало строки и опустится на одну строку вниз.
Здесь ^[
- это Ctrl + V , за которым следует Esc
Наведите курсор на слово и нажмите:
gd
- перейти к первому#
- перейти к предыдущему*
- перейти к следующему
А затем n
или N
, чтобы повторить.
Похожие вопросы
Новые вопросы
vim
Vim - это бесплатный модальный текстовый редактор с открытым исходным кодом, доступный для большинства основных платформ. Это позволяет с высокой эффективностью выполнять многие задачи по редактированию текста, но имеет крутую кривую обучения. Чтобы изучить основы, запустите ": help vimtutor". Для вопросов, не связанных с программированием, используйте https://vi.stackexchange.com/.