Вопросы с тегом «macro»

Макрос - это запись набранных команд, которые могут быть выполнены позже. Макросы хранятся в регистрах; запись макроса может быть выполнена с помощью q, и вы можете запустить их с помощью @.

2
Как я могу просмотреть и отредактировать свою запись (т.е. записанный макрос)?
Я использую сложные повторы для записи своих операций ( qqдля записи, некоторых операций , qдля остановки), и я сделал ошибку. Можно увидеть, что я записал и исправить ошибку, вместо того, чтобы делать это снова? Вызов записанных персонажей по @qпроизведениям, но я не вижу этого в своих сопоставлениях ( :map q- …


8
Как добавить постоянные номера строк в файл?
У меня есть текстовый файл, как это (с помощью gVim на Windows) foo bar baz quux corge grault garply waldo fred plugh [...150 more lines...] xyzzy thud Я хочу добавить номер к каждой строке в файле. Не используется :set number, но добавляет число в виде текста, предшествующего каждой строке, следующим …

3
Как остановить запись в командной строке?
Когда я записываю макрос с помощью qи все готово, я могу набрать: q остановить запись, если я нахожусь в нормальном или визуальном режиме. <c-o>q остановить запись, если я в режиме вставки. .. Как остановить запись, если мой макрос заканчивается в командном режиме?

2
Аргументы функций подкачки
При рефакторинге кода было бы полезно поменять аргументы функций. Изменение, например: func(foo[0], bar(), baz.spam) в func(baz.spam, foo[0], bar()) Есть ли способ поменять местами аргументы влево / вправо, оставив в скобках функции и запятые? Обратите внимание, что это может стать довольно сложным, если вы хотите учесть аргументы, которые сами по себе …
19 macro  refactor 

5
Могу ли я повторить макрос с «оператором точки»?
Могу ли я повторить макрос с .командой? Например, я хотел бы иметь возможность набрать: @q... и это эффективно звонить @q4 раза. С поведением по умолчанию, это работает только тогда , когда «д» имеет одну команду, например dw, xили iHello<esc>. (Это имеет смысл, поскольку «.» Повторяет последнее изменение , а не …
15 macro  count 

1
Сохранить макрос, только что созданный в vimrc
Иногда я создаю макросы. Иногда я создаю один и тот же макрос несколько раз. Иногда я устаю снова создавать один и тот же макрос. Могу ли я хранить макросы? Могу ли я загрузить предустановку макросов? Могу ли я сделать макрос и сохранить его навсегда?
14 macro 


3
Как применить набор нажатий клавиш к каждому вхождению слова?
Если я хочу удалить каждое слово, это легко, потому что я бы сделал что-то вроде этого: :s%/WORD//g Но что если я захочу сделать xyzдля каждого случая «СЛОВО»? Например, допустим, я хочу удалить каждую строку, содержащую «WORD». Я могу придумать пару способов сделать это, но ни один из них не кажется …
13 search  macro 


1
Улучшить скорость воспроизведения макросов?
Я записал простой макрос и воспроизвел его в следующих строках, но кажется, что скорость воспроизведения очень низкая (обрабатывать очень мало строк в секунду). Ожидается ли это и есть ли способ улучшить такую ​​скорость?
13 macro 

2
Как запустить функцию или макрос в папке с файлами?
Допустим, у меня есть функция с именем StripWhitespace. Я могу запустить его на одном файле, открыв файл и запустив его :StripWhitespace. Как я могу автоматически запустить эту функцию для папки с файлами и сохранить результаты по мере продвижения?

2
Как я могу записать вложенный макрос?
Я хочу записать макрос внутри макроса, вот так: qa [ first macro ... ] qb [ second macro ... ] q [ some more stuff, involving @b ... ] q Однако второй qинтерпретируется как запрос на остановку первого макроса, а остальные интерпретируются как команды. Есть ли способ начать запись второго …
11 macro 

3
Как вставить повторяющийся текст с разницей в незначительной Vim?
Я хочу вставить текст так: similar text wordA similar text ... similar text wordB similar text ... similar text wordC similar text ... Я знаю, что могу вставить текст много раз, а затем использовать подстановку, чтобы изменить одно слово для каждой строки, однако я все еще нахожу этот метод очень …

2
Есть ли способ определить, записываюсь ли я в vimscript?
Есть что-нибудь подобное eval("is_recording()") что я могу вызвать в своем vimscript, чтобы узнать, записываю ли я в данный момент макрос? Я бы подумал, что это работает: eval("mode(1)") но это только возвращается "n". Не уверен, что это имеет значение, но я использую neovim, так что, если он эксклюзивен для neovim, это …

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