Босс сказал, что нельзя использовать макросы Vim, ваша эффективность работы слишком низкая~

Linux

На работе у нас часто бывают следующие требования к редактированию текстовых файлов:

  • Введите один и тот же текст несколько раз;
  • Генерировать сериализованный текст;
  • Каждая строка текста вставляет идентичное предложение текста.

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

Именно здесь пригодятся макросы Vim, которые могут быстро выполнить эти повторяющиеся операции за несколько простых шагов, экономя время и силы! Объясните подробно ниже.

Запись и запуск макроса

запись макроса

  1. Создайте новый файл или откройте существующий файл в редакторе Vim;
  2. в соответствии сqи не отставай宏名Начать запись. Предположим, мы хотим назвать макрос какb, затем нажмитеEscиqbначать запись;
  3. редактирование текста...
  4. в соответствии сqОстановить запись. На этом запись макроса завершена.

запуск макроса

в соответствии с@поймать宏名чтобы запустить макрос один раз, нажмите次数поймать@宏名Повторите запуск макроса несколько раз.

Примеры приведены ниже для подробного ознакомления.

Пример-1: Использование макроса для генерации того же текста несколько раз

Например, если мы хотим сгенерировать 100 строк одного и того же текста, глупый способ — скопировать и вставить нужное количество раз. Это очень неэффективно и очень подвержено ошибкам. С инструментом макросов все очень просто!

Во-первых, в редакторе Vim мы создаем файл с именемfile1.txtновый файл.

file

Затем мы нажимаемqзатем нажмитеzНачните записывать макрос. здесьzэто宏名, который будет использован позже. Если запись правильная, внизу появитсяrecording @zшрифт.

После этого нажмитеiЗатем введите текст, который хотите повторить. Например, введите текст здесьLearning Vim Macros.

Наконец нажмитеqостановить запись, когдаrecording @zисчезнет со дна. Таким образом, названныйzМакрос был записан, и мы можем использовать этот макрос, чтобы повторить работу по вводу текста позже.

Если вы хотите запустить только что созданный макрос один раз, переместите курсор в нужное место в файле и нажмите@zВсе, далее текст будет скопирован еще раз.

Если вы хотите скопировать эту строку N раз, вы можете запустить этот макрос несколько раз. В этом случае просто добавьте макрос перед次数Вот и все. Например4@zВы можете просто запустить макрос четыре раза, соответствующий текст будет скопирован четыре раза.

Пример 2: Генерация серийных номеров с помощью макросов

В примере-1 мы механически повторяем кучу одного и того же текста, так что, если мы хотим сгенерировать текст последовательностью? Это также легко сделать с помощью макросов!

Предположим, мы хотим сгенерировать101-110Серия чисел, мы выполним это требование вместе.

Сначала в редакторе Vim создайте файл с именемfile2.txt, затем нажмитеiтип101..

в соответствии сESCВыйти из набора. затем нажмитеqyпо имени макросаyНачните запись последующих операций. Подводим курсор к началу первой строки и нажимаемyyскопируйте текст, затем нажмитеpВставьте текст в следующую строку.

Далее нажмитеCtrl + aИзмените значение второй строки с101увеличить до102. Наконец, как и раньше, нажмитеqОстановите запись, и наш макрос готов.

Далее пришло время стать свидетелем чуда!

мы печатаем8@y, только что записанный макрос запустится 8 раз, сгенерировав103прибыть110последовательные числа. Операция в один клик, простая и эффективная!

Это очень удобно для некоторых сериализованных текстов, вам не нужно делать это снова и снова. Копировать --> Изменить числа. Это повторяющаяся и скучная работа, и эффективность будет значительно повышена!

Пример 3. Добавьте один и тот же текст в каждую строку файла.

Когда мы работаем с базой данных, во многих случаях некоторые операторы очень похожи, напримерinsert into items values(100, 20077100050, alvin)Этот текст будет повторяться много раз. Если теперь у нас есть данные для вставки, как быстро сгенерировать несколько операторов SQL?

В этом примере мы предполагаем, что файл данныхfile3.txtЕсть 4 части данных, как показано ниже.

Сначала мы открываем файл данных в редакторе Vim.file3.txt, затем нажмитеESC, затем нажмитеqdпо имени макросаdНачать запись.

Подведите курсор к началу файла, нажмитеiклавиша для вставки текста. а затем введитеinsert into items values(, затем нажмитеESC,w,yw5 раз.

это здесь,wИспользуется для перехода к следующему слову,ywИспользуется для копирования текущего слова. Причина, по которой здесь требуется 5, заключается в том, что в строке пять частей. соответственно11001 , HDD , Samsung(Обратите внимание, что запятые также считаются частью).

После этого нажмитеESCиaклавишу , чтобы переместить курсор в конец строки, а затем введите);.

Наконец, нажмитеjзатем нажмитеq. здесь,jдля перехода на следующую строку,qИспользуется для остановки записи. На этом макрос, который нам нужен, завершен.

Теперь мы хотим, чтобы оставшиеся 3 строки текста ниже были обработаны в том же формате, что и первая строка, просто нажмите3@dЭтого можно добиться, запустив макрос 3 раза. Таким образом, вставка в базу данных будет намного удобнее, и нам не нужно вручную менять по одному, что просто и эффективно!

в заключении

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

Это все настоящая любовь после прочтения. Поставить большой палец вверх и уйти? Ваши «Три звена» — самая большая мотивация для Лян Сюй продолжать творить!

  1. обрати внимание наоригинальныйпублика"Хороший линукс», получите последнюю галантерею Linux в первый раз!
  2. Ответьте на фон официальной учетной записи [информация] [интервью] [резюме], чтобы получить интервью, самосовершенствование, резюме и другую информацию о выбранных производителях первого уровня.
  3. Следите за моим блогом:lxlinux.net