
Ich habe einen Satz von Zeilen wie diesen:
This is a row.
This is row 2.
This is row 3.
Ich möchte sie über eine bestimmte Anzahl von Leerzeichen/Tabulatoren verschieben x
, und zwar wie folgt.
This is a row.
This is row 2.
This is row 3.
Gibt es eine Möglichkeit, diese Zeilen auszuwählen und eine Art auszuführen M-x region-tab-n
?
Antwort1
`Cx TAB'
Verschiebt jede Zeile in der Region um eine feste Distanz nach rechts oder links („starr einrücken“). Die zu verschiebende Distanz wird durch das numerische Argument bestimmt (positiv für eine Verschiebung nach rechts, negativ für eine Verschiebung nach links).
Antwort2
Wenn Sie wissen, wie viele Leerzeichen Sie vor jeder Zeile haben möchten: Wählen Sie den Text als Bereich aus und wenden Sie dann an M-n C-M-\
, wobei n
die Anzahl der Leerzeichen ist, die Sie einrücken möchten. Dies M-n
ist ein numerisches Argument für den Befehl C-M-\
. Der Befehl allein C-M-\
bringt alle Zeilen im Bereich nach links (null Leerzeichen).
So verschieben Sie sich um Leerzeichen nach rechts n
:M-n C-x TAB
So verschieben Sie sich um Leerzeichen nach links n
:M-- M-n C-x TAB
Antwort3
Eine andere Möglichkeit besteht darin, die Markierung ( C-SPC) an den Anfang der ersten Zeile zu setzen, den Punkt an den Anfang der letzten Zeile zu verschieben und auf zu klicken C-x r t. string-rectangle
Sie werden aufgefordert, in jeder Zeile eine Zeichenfolge einzugeben. Geben Sie dort die gewünschte Anzahl von Leerzeichen ein.
(Wenn Punkt und Markierung nicht in derselben Spalte liegen, wird der Text im Rechteck mit Ecken in Punkt und Markierung ersetzt.)