M-backspaceで変数名全体を削除する

emacsを設定する方法があるので、私がM-backspaceを押すと実際に変数全体が削除されるでしょうか? my_dummy_variable のような変数がある場合、名前を削除するためにM-backspaceを3回押す必要がありますか?

1
これは実際にはCではなくemacsに関係していますが、C ++ではなく、 c タグを削除することをお勧めします。
追加された 著者 Alexander Prokofyev,
おそらくこの質問への回答が役に立ちます。
追加された 著者 Peter Burns,

2 答え

組み込みの backward-kill-sexp を使うことができます。

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

これにより、削除されたものをキルリングに追加するという望ましくない効果があります。

この問題を解決するには、以下を試してください:

(defun backward-delete-sexp (arg)
     (interactive "P")
     (delete-region (point)
            (progn (backward-sexp arg) (point))))
3
追加された
(let((kill-ring))(backward-kill-sexp arg))はより洗練されたソリューションです。
追加された 著者 PythonNut,
実際には、ではなく
追加された 著者 Jeff Atwood,

私はあなたがスーパーワードモードを探していると思います。そのドキュメントから:

スーパーワードモードはバッファローカルマイナーモードです。再マップを有効にする   ワードベースの編集コマンドからスーパーワードベースのコマンドへ   記号を単語として扱う。 "this_is_a_symbol"。

     

このマイナーモードで起動されたスーパーワード指向のコマンド   スーパーワードとしてシンボルを認識し、スーパーワードと   単語として編集します。

1
追加された