Ответы:
Вы можете добавить префикс с M-x string-rectangle
, который связан с C-x r t
. Это часть серии команд, которая работает с прямоугольными выделениями ; этот вставляет текст в каждую строку в прямоугольнике.
Начните с установки метки в начале первой строки и переместите курсор на первый символ последней строки, которую вы хотите поставить в качестве префикса:
*Hello
There
▮I am some code
Затем используйте C-x r t
, введите свой префикс ( I said
) и нажмите RET
. Это добавляет текст к каждой строке в прямоугольнике:
I said Hello
I said There
I said I am some code
Если вы не наведите курсор на тот же столбец, что и ваша отметка, он перезапишет эту часть прямоугольника:
*Hello
There
I am▮ some code
с той же командой приводит к:
I said o
I said e
I said some code
M-x string-insert-rectangle
. Это очень похоже, но string-insert-rectangle
вставляет в начале каждой строки выбора, в то время как string-rectangle
заменяет , так с ним вы должны быть более точным о своем выборе , если вы не хотите , чтобы перезаписать что - нибудь.
Вы можете использовать режим нескольких курсоров , чтобы поместить курсор на каждую строку. Затем любой введенный вами текст будет вставлен в каждую строку.
Вы должны начать с точки в начале фрагмента кода:
▮Hello
There
I am some code
Тогда ударь C->дважды. (Это рекомендуемая привязка ключа; вы должны установить ее самостоятельно.) Это создает два дополнительных курсора в следующих двух строках:
▮Hello
▮There
▮I am some code
Затем введите I said
. Текст будет добавлен в каждой строке:
I said ▮Hello
I said ▮There
I said ▮I am some code
Наконец, нажмите, RETчтобы выйти из режима нескольких курсоров и оставить точку на последнем курсоре:
I said Hello
I said There
I said ▮I am some code
Вот видео, которое показывает, как это работает.
Другой вариант - использовать макросы, которые могут обрабатывать больше задач, чем прямоугольные выделения или множественные курсоры, даже если это немного сложнее для данного конкретного случая.
Поместите курсор в начало первой строки и нажмите, F3чтобы начать запись, вставьте текст, переместите курсор в начало следующей строки и нажмите, F4чтобы остановить запись. Теперь нажмите еще F4раз, чтобы повторить макрос, C-2 F4повторить его дважды или C-0 F4повторять до тех пор, пока не встретится ошибка (например, отсутствие строк).
Вы можете установить зло и сделать это любым количеством vi-подобных способов - я предпочитаю визуальный выбор блоков, используя Ctrl+, Vчтобы отметить каждую строку, а затем Shift+, Iчтобы вставить, а затем набрать текст, который вы хотите вставить, и, наконец, нажать, ESCчтобы выйти из режима вставки, и текст будет добавлен к каждой строке. Это очень похоже на выбор прямоугольника в emacs, но несколько меньше нажатий клавиш.
Если вы cua-mode
включили, то:
I said
как текст для вставкиЯ предпочитаю cua-mode
способ работы, по сравнению со стандартным прямоугольником Emacs, где эквивалент будет:
I said
RET вставить текстcua-mode
Сохраняет два нажатия клавиш по сравнению со стандартным Emacs прямоугольником.
Но для меня дополнительным преимуществом cua-mode является то, что я могу добавлять текст в прямоугольник (лично я не знаю, как добавлять текст со стандартным прямоугольником Emacs). В режиме cua, это только одно RETнажатие клавиши, перед вводом I said
.