2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Ctrl-h再考 (モード別に専用の削除関数を割り当てる)

2
Last updated at Posted at 2026-02-02

はじめに

Emacsの Ctrl-h にはもともと「ヘルプ」が割り当てられているが, Backspaceと同じ1文字削除に割り当て直すのが定番である.
以前は下記のようにグローバルで設定していた.

~/.emacs.d/init.el
(global-set-key "\C-h" #'delete-backward-char)

しかしモードによっては, delete-char系の専用関数が用意されてる場合もあるため, 全モードで delete-backward-char にしてしまうのが微妙だった.

Ctrl-h再考

今回 Doom Emacs の導入を機に, モードやステート別に Ctrl-h を割り当てるようにした.

~/.doom.d/config.el
(map! :e
      "C-h" #'delete-backward-char ; Emacsステートではdelete-backward-charにしておく

      :map minibuffer-local-map
      "C-h" #'delete-backward-char

      :map isearch-mode-map
      "C-h" #'isearch-delete-char ; インクリメンタルサーチ中の専用delete-char
      )

(setq! evil-want-C-h-delete t) ; insertステートでCtrl-hを1文字削除にする

(map! :after evil
      :map (
            evil-ex-completion-map
            evil-ex-search-keymap
            )
      "C-h" #'evil-ex-delete-backward-char ; exコマンドの専用delete-char
      )

;; デフォルトのvertico-directory-upが使いづらいので上書き
(map! :after vertico
      :map vertico-map
      "C-h" #'vertico-directory-delete-char
      )

参考: 各モード専用の delete-char 系の変数関数の説明

バージョン情報

emacs-version => "30.2"
doom-version => "3.0.0-pre"
evil-version => "1.15.0"
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?