
У меня есть такой набор строк:
This is a row.
This is row 2.
This is row 3.
Я хочу сместить их на x
такое количество пробелов/табуляций.
This is a row.
This is row 2.
This is row 3.
Есть ли способ выбрать эти строки и сделать что-то вроде этого M-x region-tab-n
?
решение1
`Cx TAB'
Сдвинуть каждую строку в регионе на фиксированное расстояние вправо или влево (`indent-rigidly'). Расстояние перемещения определяется числовым аргументом (положительное значение для перемещения вправо, отрицательное значение для перемещения влево).
решение2
Если вы знаете, сколько пробелов вы хотите оставить перед каждой строкой: выберите текст как область, затем примените M-n C-M-\
, где n
— количество пробелов, на которое вы хотите сделать отступ. M-n
— числовой аргумент команды C-M-\
. Сама по себе команда C-M-\
перенесет все строки в области влево (ноль пробелов).
Для сдвига вправо на n
пробелы:M-n C-x TAB
Для сдвига влево на n
пробелы:M-- M-n C-x TAB
решение3
Другой способ сделать это — поставить знак ( C-SPC) в начале первой строки, переместить точку в начало последней строки и нажать C-x r tдля string-rectangle
. Он попросит вас ввести строку для вставки в каждую строку; вам нужно будет ввести там желаемое количество пробелов.
(Если точка и отметка не находятся в одном столбце, текст в прямоугольнике будет заменен на текст в углах точки и отметки.)