1

例如,我使用命令为inlocal-set-key 设置密钥。C-c C-nflymake-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 配置应该是可靠的(如果可能的话,它不应该依赖于命令的执行顺序),并且这种包装(带有钩子)命令可以防止错误情况:在mode-map中设置 keybind而没有 setup mode

于 2012-12-30T08:29:47.327 回答