Wie verschiebe ich in Emacs zwischen Textzeilen?

Wie verschiebe ich in Emacs zwischen Textzeilen?

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 ndie Anzahl der Leerzeichen ist, die Sie einrücken möchten. Dies M-nist 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-rectangleSie 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.)

verwandte Informationen