Как сохранить макрос Vim, содержащий нажатия клавиш «Escape»? - PullRequest
26 голосов
/ 31 мая 2010

Я часто использую следующий макрос Vim (он помещает текущую строку в теги XML):

I<e>^[A</e>

Так что я сохранил его в свой .vimrc

let @e='I<e>^[A</e>'

Но это не работает.
Часть ^[ означает «Escape», но она не понимается как таковая в .vimrc

Как сохранить этот макрос или любой макрос, который содержит «Escape»?

Ответы [ 7 ]

35 голосов
/ 31 мая 2010

Попробуйте ввести escape с помощью <Ctrl-v><Esc> в режиме вставки. См. :help i_CTRL-V в vim.

18 голосов
/ 31 мая 2010

Для макроса :

:let @e='^[I<e>^[A</e>'

Где ^[ - это только один символ, образованный нажатием CTRL + V ESC ( CTRL + Q ESC в Windows). Обратите внимание на выход в самом начале макроса.

См. :help c_CTRL-V в Vim для получения дополнительной информации.


Для тех, кто попал в этот пост и ищет, как добавить ESC к отображению , ответ будет другим.

Буквально тип <</kbd> E S C > , таким образом:

:nnoremap <Leader>E I<e><ESC>A</e><ESC>

Подробнее см. :help key-notation в Vim.

4 голосов
/ 04 июня 2010

Если вы используете поведение Windows для vim, где Ctrl + V - команда вставки, эквивалентная последовательность - Ctrl + Q

1 голос
/ 08 июня 2019

Для удобства чтения можно использовать правильные теги обозначений клавиш, например <Esc> или <CR> вместо ^[ или ^M

Вам нужно было бы избежать тега <Esc> с одним \ и использовать двойные кавычки вместо одинарных кавычек, что привело бы к "\<Esc>". Следующие примеры эквивалентны

:let @e='^[I<e>^[A</e>'
:let @e="\<Esc><e>\<Esc>A</e>"

Список всех ключевых обозначений можно найти, набрав :help key-notation или здесь .

1 голос
/ 10 июня 2010

Сегодня я обнаружил плагин vim под названием MARVIM (http://www.vim.org/scripts/script.php?script_id=2154).

Он способен хранить макросы и выполнять их позже с помощью ярлыков.

0 голосов
/ 24 сентября 2018

Я отвечаю, что я делаю, чтобы добавить Escape в макрос.

Использование в редакторе vim

:let @a='iabcjj'

здесь я отображаю <ESC> на jj на

.vimrc file

imap jj <esc> 
0 голосов
/ 06 апреля 2018

Сохранение макросов в виде простого файла без плагинов.

Имея, например, макрос m . В режиме вставки, например, в начале новой строки, затем введите 3 клавиши

ctrl-r ctrl-r m

макрос с escape-символами будет помещен в эту строку. (редактируется по мере необходимости) В другой строке название / комментарий. Добавьте другие макросы, если хотите, - затем сохраните этот файл, например, как. : w my_vim_macros

Когда вы хотите повторно использовать такие сохраненные макросы: поместите курсор в начало строки макроса, затем 4 клавиши

"ху $

и ваш макрос (эта строка) будет дергаться для регистрации x .

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