- If you're on a non-space character, delete forward until the next space character.
- If you're on a space character, delete forward until the next non-space character
(defun my-delete-space-forward () (interactive) (let* ((char (buffer-substring-no-properties (point) (1+ (point)))) (notspace-rx (rx (not (any "\t\n ")))) (space-rx (rx (any "\t\n "))) (rx (if (string-match-p space-rx char) notspace-rx space-rx)) (end-pos (save-excursion (search-forward-regexp rx nil 'end)))) (delete-region (point) (if end-pos (1- end-pos) (point-max)))))
Aucun commentaire:
Enregistrer un commentaire