Редактирование макроса VIM - PullRequest
3 голосов
/ 30 июня 2011

Предположим, что я записал длинный макрос со многими командами и специальными символами. Скорее всего, я где-то допустил ошибку :) Как я могу отредактировать макрос, исправить ошибки и сохранить его снова?

Например:

Я хочу скопировать строку и затем увеличить число в ней на единицу.

Макрос для этого

yyp/\d<C-A>

но сохраняется как

yyp/\d^M^A

и я не вижу этих специальных символов при вставке регистра. Мне также нужно поиграть с «let», когда я хочу скопировать регистр, потому что стандартная вставка на экран и копирование в другой регистр не работает. Как эффективно редактировать регистр специальными символами?

Спасибо

Ответы [ 2 ]

5 голосов
/ 30 июня 2011

Что вы имеете в виду, когда говорите, что «не видите специальных символов»? Какие специальные символы? Вы должны увидеть штрафы ^A и ^M, которые представляют <C-A> и <carriage return> соответственно. Это все, что вам нужно.

Так что просто вставьте регистр в буфер. Затем отредактируйте и верните обратно в регистр и выполните как обычный макрос. Если вы хотите изменить <C-A> на что-то другое, скажем, <C-E>, просто удалите ^A, который отображается при вставке, и введите <C-E>, нажав <C-V><C-E> (или <C-Q><C-E>, если вы находитесь на Windows с совместимостью с Windows). Он будет отображаться как ^E, но так оно и должно быть.

0 голосов
/ 31 марта 2017

Нажмите <C-r><C-r>q (здесь q - имя регистра) в режиме вставки.Выполните :h ctrl-r_ctrl-r, чтобы увидеть детали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...