Ich schreibe Python-Code, daher ist es wichtig, Zeilenblöcke zu verschieben, um zu vermeiden, dass jede Zeile einzeln durchlaufen wird. Wie kann ich das ohne ein Add-On tun? Gibt es eine Art von Tastenbefehl, um dies zu tun?
whitespace
Vass
quelle
quelle
Antworten:
Verwenden Sie den Befehl
indent-rigidly
, an denC-x TAB
standardmäßig gebunden ist .Sie können die Anzahl der einzurückenden Leerzeichen mithilfe eines Präfix-Arguments wie z
C-5 C-x TAB
.Oder Sie können den Befehl aufrufen und dann mit den Pfeilen nach links / rechts die Einzugsebene interaktiv anpassen.
quelle
C-5 C-x TAB
, die aktuelle Region um 5 Leerzeichen einzurücken.C-a
um an den Anfang der ZeileC-SPC
zu springen, um den Bereich zu markieren,C-n C-n
um ein paar ZeilenC-5 C-x TAB
nach unten zu springen und um diese beiden Zeilen einzurücken.Wenn Sie python-mode.el verwenden
C-c >
oderC-c <
um Blöcke nach links oder rechts zu verschiebenquelle
Mit dem
string-rectangle
Befehl (C-x r t
) können Sie beliebigen Text (einschließlich Leerzeichen) in einen ausgewählten Bereich einfügen.Angenommen, Sie haben diesen Textblock und möchten 5 Leerzeichen vor allen Zeilen einfügen.
Wählen Sie zuerst eine "0 column" -Region wie unten gezeigt aus (der Punkt befindet sich auf dem Zeichen "a" und die Markierung befindet sich in derselben Spalte in der Zeile mit "ghi":
string-rectangle
Fügen Sie nun mit den Text ein, den Sie in den ausgewählten Bereich einfügen möchten. In diesem Beispiel fügen wir 5 Leerzeichen in alle Zeilen ein, einschließlich und zwischen dem Punkt und der Marke.Dies ergibt den unten angegebenen, stark eingerückten Text.
quelle
Es gibt
C-x TAB
(gebundenindent-rigidly
). Geben Sie ein Präfix-Argument an, um anzugeben, nach wie vielen Leerzeichen Sie einrücken möchten. Negativ entfernt so viele Leerzeichen.quelle
Ich habe festgestellt, dass durch Drücken von Alt-4 und dann SPC das gewünschte Ergebnis erzielt wird. Ich bin nicht sicher, ob dies der beste Weg ist, aber es funktioniert auch.
quelle