4
キーがバインドされているキーマップを確認するにはどうすればよいですか?
で「d」キーをリバウンドgnus-article-modeしましたが、ポイントが添付ファイル上にある場合、その古い動作は引き続きアクティブです。を実行することで再バインドが有効にならなかったことがわかりますが、C-h k dその時点でどのキーマップが有効であるかを教えていないので、再バインドできます。 それを見つける方法はありますか? 正確な例は次のとおりです。私は悪を使用しており、記事をモーションモードにする必要があります。キーボードレイアウトでは、上に移動するキーとして「d」を設定しました。 (evil-mode 1) (add-to-list 'evil-motion-state-modes 'gnus-article-mode) (setq evil-emacs-state-modes (remove 'gnus-article-mode evil-emacs-state-modes)) (define-key evil-motion-state-map "d" 'evil-previous-line) 邪悪なキーが確実に考慮されるように、ローカルマップでgnusキーの設定を解除します。 (defun as/alter-article-evil-map () (local-unset-key "d")) (add-hook 'gnus-article-mode-hook 'as/alter-article-evil-map) 残念ながら、ポイントが添付ファイル上にある場合、「d」キーは表示されなくなりますが、添付ファイルを削除するように求められます。その時点で別のバインディングがアクティブになっていると思うので、質問です。 解決策keymaps-at-point以下を使用して、使用されたキーマップがテキストプロパティからのものであることを見つけました。次に、バインドされた関数のコードを見て、キーマップの名前を見つけましたgnus-mime-button-map。次のコードは私が望むことをします: (defun as/alter-article-evil-map () (define-key gnus-mime-button-map "d" nil)) (add-hook 'gnus-article-mode-hook 'as/alter-article-evil-map)