Nachdem Sie ein "Rechteck" mit kopiert haben C-x r M-w
, C-x r y
ziehen oder ziehen Sie das Rechteck ein. Damit wird jedoch das kopierte Rechteck eingefügt.
Wie kann ich das kopierte Rechteck einfügen, damit es den Text überschreibt?
Beispiel:
a b c d e f g
h i j k▮l m n
o p q r s t u▮
Ich habe das Rechteck zwischen den oben gezeigten Cursorpositionen mit M-x copy-rectangle-as-kill
oder kopiert C-x r M-w
.
Wenn ich es jetzt h
mit M-x yank-rectangle
oder vor das Zeichen einfüge C-x r y
, soll das Ergebnis so aussehen
a b c d e f g
▮l m n k l m n
s t u r s t u
anstatt
a b c d e f g
▮l m n h i j k l m n
s t u o p q r s t u
Wie kann ich das yank-rectangle
Überschreiben vornehmen ?
C-x r y
zu überschreiben. Ich bearbeite jetzt meine Frage.Antworten:
Verwenden Sie
M-x picture-mode
.C-c C-y
, gebunden an befehlpicture-yank-rectangle
, macht was du willst. (Sie können verwenden,C-_
um rückgängig zu machen.)Diese zugehörigen Schlüssel sind auch verfügbar in
picture-mode
:C-c C-k
- Lösche ein Rechteck und speichere es (picture-clear-rectangle
)C-c C-w
- Lösche ein Rechteck und speichere es in einem Register (picture-clear-rectangle-to-register
)C-c C-x
- WieC-c C-y
, verwendet aber das Rechteck in einem Register (picture-yank-rectangle-from-register
)C-x r r
- Kopiere ein Rechteck in ein Register (copy-rectangle-to-register
)Verwenden Sie
C-c C-c
diese Option, um den Bildmodus zu verlassen.Sie können die Bildmodusbefehle auch verwenden, ohne sie einzuschalten.
picture-mode
In diesem Fall sind ihre Tasten jedoch nicht gebunden. Sie müssen die Bibliothek trotzdem ladenpicture
.So können Sie beispielsweise Folgendes tun:
C-x r r
diese Option, um ein Rechteck in ein Register zu kopieren.M-x picture-yank-rectangle-from-register
(die Sie auch an einen Schlüssel binden können).quelle
M-x picture-yank-rectangle-from-register
Lösung funktioniert gut für mich; Ich muss einfach(require 'picture)
meine eingebeninit.el
.Ein anderer Ansatz besteht darin,
delete-selection-mode
dies in Ihrer Init-Datei zu verwenden und zu tun:Aber das macht
yank-rectangle
immer den Text an der Stelle ersetzen, die vielleicht nicht, was Sie wollen.quelle