Сохранение макроса в vim с <Esc> - PullRequest
4 голосов
/ 23 января 2011

В этой теме объясняется сохранение макроса vim в файл, но я не могу заставить его работать.У меня есть следующий макрос, хранящийся в регистре b, который я пытаюсь сохранить в свой файл rst.vim:

let @b = '<Esc>bea**<Esc>`<i**<Esc>gvoo<Esc>e'

Все, что внутри '...', получено при вставке макроса из буфера с использованием "bp.Но когда я закрываю и снова открываю первый файл, содержащий только предложение The quick brown fox jumped over the moon и тип fbv2e@b, получается следующее предложение:

Thc>bea**<Esc>`<i**<Esc>gvoo<Esc>e quick brown fox jumped over the moon.

Итак, должно быть несколько нажатий клавиш, которые мне не хватает, ноЯ не могу найти то, что они есть.Я попытался найти в Google и :help похожие примеры макросов, но безрезультатно.Что мне не хватает и какие термины мне нужно искать при поиске?Спасибо!

1 Ответ

3 голосов
/ 23 января 2011

Как намекают некоторые, проблема заключалась в том, что <Esc> на самом деле было <, E, s, c, >.Vim генерирует escape-символы в текстовом файле, используя C-v <ESC>.Поэтому я набрал :s/<Esc>/^[/g в строке :let в вопросе. Обратите внимание, что ^, [ - это не то же самое, что ^[, генерируемый C-v <Esc>!

Чтобы избавить себя от головной боли через несколько месяцевс этого момента я переключился ^[ на \e.Я должен был убедиться, что заключил макрос в двойные кавычки, потому что одинарные кавычки не работали.

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