De volledige naam van de variabele in de M-backspace verwijderen

Is er een manier om emacs te configureren, zodat wanneer ik M-backspace zou raken, het eigenlijk de hele variabele zou verwijderen? Als ik een variabele als my_dummy_variable heb, moet ik driemaal op M-backspace drukken om de naam te verwijderen?

1
dit is echt gerelateerd aan emacs, niet C en niet C ++, suggereren verwijder c tag,
toegevoegd de auteur Alexander Prokofyev, de bron
Misschien kunnen de antwoorden op deze vraag helpen.
toegevoegd de auteur Peter Burns, de bron

2 antwoord

U kunt de ingebouwde backward-kill-sexp gebruiken.

(global-set-key (kbd "M-DEL") 'backward-kill-sexp)

Dit heeft het ongewenste effect van het toevoegen van wat er in de kill-ring is gewist.

Om dit op te lossen, kunt u het proberen:

(defun backward-delete-sexp (arg)
     (interactive "P")
     (delete-region (point)
            (progn (backward-sexp arg) (point))))
3
toegevoegd
(let ((kill-ring)) (backward-kill-sexp arg)) kan een schonere oplossing zijn.
toegevoegd de auteur PythonNut, de bron
eigenlijk wilt u waarschijnlijk , niet
toegevoegd de auteur Jeff Atwood, de bron

Ik denk dat je op zoek bent naar superword-mode . Uit de documentatie:

Superword-modus is een buffer-lokale secundaire modus. Herinneringen inschakelen   op woord gebaseerde bewerkingscommando's voor commando's op basis van superwoorden   symbolen behandelen als woorden, b.v. "This_is_a_symbol".

     

De superwoordgeoriënteerde opdrachten die in deze secundaire modus zijn geactiveerd   herken symbolen als superwoorden om te schakelen tussen superwoorden en naar   bewerk ze als woorden.

1
toegevoegd