Ich versuche, ein Zeichen - sagen wir ;
- durch eine neue Zeile mit replace-string
und / oder replace-regexp
in Emacs zu ersetzen .
Ich habe die folgenden Befehle ausprobiert:
M-x
replace-string
RET;
RET\n
Dies wird durch
;
2 Zeichen ersetzt :\n
.M-x
replace-regex
RET;
RET\n
Dies führt zu folgendem Fehler (im Minibuffer angezeigt):
Ungültige Verwendung von "\" im Ersatztext.
Was ist falsch daran, replace-string
diese Aufgabe zu verwenden? Gibt es eine andere Möglichkeit, dies zu tun?
Vielen Dank.
quote-insert
was das nächste Zeichen zitiert.C-j
ist ein wörtlicher0x0a
Steuercode, gegenüberRet
dem der Schlüssel neben Ihrem Angebot steht und gesendet wird0x0d
. en.wikipedia.org/wiki/C0_and_C1_control_codesC-j
in Emacs undC-m
in vim verwenden .Ich habe vier Möglichkeiten gefunden, eine neue Zeile in den Minibuffer einzufügen.
C-o
C-q C-j
C-q
12
(12 ist der Oktalwert von Newline)C-x ozum Hauptfenster, töte eine neue Zeile mit C-k, dann C-x ozurück zum Minibuffer, ziehe sie mitC-y
quelle
C-o
! Ein Tastendruck weniger im Vergleich zuC-q C-j
. Ich hatte vorher nicht daran gedacht, diesen zu benutzen.C-o
Verschiebt den Punkt nach dem Einfügen der neuen Zeile in den Minibuffer nicht. Sie müssen daher auch noch die rechte Pfeiltaste drücken, wenn Sie nach der neuen Zeile etwas in die Ersatzzeichenfolge einfügen möchten.C-o
wird bei Verwendung der Suche eine neue Zeile im Hauptfenster eingegeben, währendC-q C-j
die neue Zeile im Minibuffer eingegeben wird.C-o
funktioniert mit Abfrage - aber ersetzen.Vergessen Sie nicht, dass Sie immer ausschneiden und in den Minibuffer einfügen können.
Sie können also einfach ein Zeilenumbruchzeichen (oder eine beliebige Zeichenfolge) aus Ihrem Puffer kopieren und dann ziehen, wenn Sie zur Eingabe des Ersatztextes aufgefordert werden.
quelle
Genauer gesagt:
Befolgen Sie genau diese Schritte, um das Semikolonzeichen (;) durch eine neue Zeile zu ersetzen.
Etwas mehr als die ursprüngliche Erklärung sagt.
quelle
Wechseln Sie in den Textmodus
Markieren Sie den Block zum Einrücken
Einzug
Wechseln Sie zurück in einen beliebigen Modus.
quelle
Inline nur:
C-M-S-%
(wenn Bindungsschlüssel immer noch Standard sind) alsreplace-string
^Jquelle