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

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

39
Как я могу просмотреть и отредактировать свою запись (т.е. записанный макрос)?

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

22
Как добавить постоянные номера строк в файл?

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

19
Аргументы функций подкачки

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

19
Как остановить запись в командной строке?

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

15
Могу ли я повторить макрос с «оператором точки»?

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

14
Сохранить макрос, только что созданный в vimrc

Иногда я создаю макросы. Иногда я создаю один и тот же макрос несколько раз. Иногда я устаю снова создавать один и тот же макрос. Могу ли я хранить макросы? Могу ли я загрузить предустановку макросов? Могу ли я сделать макрос и сохранить его...

13
Улучшить скорость воспроизведения макросов?

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

13
Как применить набор нажатий клавиш к каждому вхождению слова?

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

13
Удалить все последовательные дубликаты

У меня есть файл, который выглядит следующим образом. Move to 230.00 Hold Hold Hold Hold Hold Hold Move to 00.00 Hold Hold Hold Hold Hold FooBar Hold Spam Hold Я хотел бы, чтобы это выглядело так: Move to 230.00 Hold Move to 00.00 Hold FooBar Hold Spam Hold Я уверен, что должен быть способ, которым...

12
Как запустить функцию или макрос в папке с файлами?

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

11
Есть ли способ определить, записываюсь ли я в vimscript?

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

11
Как вставить повторяющийся текст с разницей в незначительной Vim?

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

11
Как я могу использовать завершение режима вставки в макросе?

Я пытаюсь определить макрос, который быстро генерирует список случайных слов. Я хочу, чтобы макрос превратил это в список вроде a b c d e в это arezzo bywords czars détente eyrie Что у меня так далеко: наведите курсор на букву a начать запись макроса qq a войти в режим вставки...

11
Как я могу записать вложенный макрос?

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

10
Вставьте инкрементный номер в каждую строку в выделении или совпадении

У меня есть проблема, я могу думать о двух общих подходах к решению, но я не знаю специфику для любого подхода. ... Level 1: cũng also Level 1: và and Level 1: như like; such as Level 2: các plural marker Level 2: của belonging to ... Для каждой строки, начинающейся с «Level n», я хочу вставить...

9
Сохранить последнее действие (.) В макросе

Случай использования Я в нормальном режиме. Я явно не думал о записи макроса, но я делаю одну команду изменения. Теперь я могу повторить это действие, используя точку. Теперь я понимаю, что полезно сохранять макрос в последующем макросе, а не вводить всю команду каждый раз. Я могу либо следить за...