xyzzy QandA

いつでも普通のバックスペースを使いたいのですが…。


管理番号 108
最終更新 2003/06/18 23:02:30
C-h を普通のバックスペース(カーソル左の1文字削除)にする場合は,初期化
ファイルに,

  (global-set-key #\C-h 'backward-delete-char)

と書いておけば良いのですが,モード毎のキーマップに他の関数が割り当てら
れていると有効になりません。その場合は,モード毎に C-h のキー設定を無
効にしておく必要があります。例えば,以下のように並べておきます。

  (undefine-key ed::*c-mode-map* #\C-h)
  (undefine-key ed::*c++-mode-map* #\C-h)
  ...

但し,autoload されるモードについては,そのモードの起動時に実行される
フックで設定するなどの注意が必要です。

いちいち指定するのが面倒だという場合は,

  (setf (symbol-function 'backward-delete-char-untabify-or-selection)
        #'delete-backward-char)

のように再定義してしまえばいいのですが,他に何か影響が
あるかもしれません。

[xyzzy:04494] より。