Löschen bis Leerzeichen in Emacs
-
09-10-2019 - |
Frage
Gibt es eine Emacs-Funktion (vorwärts oder rückwärts) bis zum ersten Leerzeichen löschen? Zum Beispiel habe ich die folgende Zeile ein, und der Cursor wird durch die caret markiert:
someword ?(&)!* morewords
^
Ich mag die rückwärts, um die Folge von nicht-alphanumerischen Zeichen zu löschen, aber nicht das Wort someword
. Mit backward-delete-word
wird auch das Wort auslöschen. Das gleiche ist mit dem Cursor vor den seltsamen Zeichen und kill-word
.
Lösung
Ich weiß nicht, von jeder Funktion, aber es ist einfach genug, um zu machen:
(defun my-delete-backward-to-ws ()
(interactive)
(delete-region (point) (save-excursion (skip-syntax-backward "^ ") (point))))
Andere Tipps
Emacs haben die Funktion zap-to-char
, die alles bis zu einem bestimmten Zeichen gelöscht werden. So wird dies nicht für alle Leerzeichen funktionieren, aber wenn Ihr spezielles Problem alles bis zu einem Raum ist, können Sie diese Funktion verwenden. Geben Sie die Funktion ein negatives Argument zap zurück.