1

たとえば、コマンドを使用してinlocal-set-key のキーを設定しC-c C-nます。flymake-goto-next-errorpython-mode

式を記述してラップする代わりに、python-mode-hookこのキーバインディングを直接格納する便利な方法はありますか?誰かがこれについてアイデアを持っていますか?

4

1 に答える 1

2

指示

(local-set-key (kbd "C-c C-n") 'flymake-goto-next-error)

現在のバッファのローカルマップで動作します。ローカルマップpython-mode-mapの場合は正しいです。

便利な最小長コマンド(フックを使用しない)

(define-key python-mode-map (kbd "C-c C-n") 'flymake-goto-next-error)

変数python-mode-mapが作成されたときに機能します。

変数python-mode-mapは、呼び出し後に動的に(ファイルpython-mode.elに)作成されます

(require 'python-mode)

python-modeがロードされていない場合、コマンドdefine-keyはpython-mode-mapを直接使用できません。フックの使用は安全のためです。emacsの設定は信頼できるものでなければならず(可能であればコマンドの実行順序に依存しないようにする必要があります)、そのようなラップされた(フック付きの)コマンドは間違った状況を防ぎます:セットアップモードなしでモードマップでkeybindを設定します。

于 2012-12-30T08:29:47.327 に答える