Mit Strg + Rücktaste oder Strg + Entf wird der gelöschte Text zum Kill Ring hinzugefügt.
Wie kann ich das verhindern? Ich muss nicht jedes einzelne Textstück an den Kill Ring senden, wenn es gelöscht wird.
Nebenfrage: Wozu dient diese Standardeinstellung überhaupt? :)
undo
. Eine wilde Vermutung.Antworten:
Nach der Dokumentation:
Lassen Sie uns nun den Quellcode durchsuchen:
In der Dokumentation der
kill-region
Funktion finden wir dann:Wenn Sie weiter gehen möchten, können Sie diese Funktion zum Löschen verwenden, ohne sie in kill-ring zu kopieren:
Mit freundlicher Genehmigung von ErgoEmacs
quelle
Seit Emacs 24 können Sie ohne Konfiguration jeden Text löschen, ohne ihn dem Kill-Ring hinzuzufügen, indem Sie ihn auswählen und dann Backspaceoder drücken Delete. Wenn die Markierung aktiv ist, löschen diese Tasten die Region, anstatt nur das Zeichen vor / nach dem Cursor zu löschen.
Bewegen Sie sich also an ein Ende des zu löschenden Texts, drücken Sie Ctrl+ Space, bewegen Sie sich an das andere Ende und drücken Sie Backspace(oder Delete), um den markierten Bereich zu löschen. Oder gehen Sie zu einem Ende, halten ShiftSie gedrückt, während Sie mit den Bewegungstasten zum anderen Ende gehen, und drücken Sie Backspace.
quelle
Ich hatte das gleiche Problem und löste es leichter auf diese Weise:
Durch das Aufrufen
(backward-delete-char-untabify 1 nil)
wird Emacs angewiesen, ein Zeichen (das ist der1
Parameter) rückwärts zu löschen und das Kopieren in den Ring (das ist dernil
Parameter) zu unterlassen. Sie benötigen eine Lambda-Funktion (dh eine anonyme Funktion), weil Sie eine Funktion mit Parametern an einen Schlüssel binden.quelle