当我在 emacs 中加载 python-mode.el 文件时,我没有得到任何指定的键绑定。我开始使用该文件并注意到当我更改时:
(define-key map [(control c)(\#)] 'py-comment-region)
至:
(define-key global-map [(control c)(\#)] 'py-comment-region)
它工作正常。
我去查看定义映射变量的位置并看到:
(defvar py-shell-map nil
"Keymap used in *Python* shell buffers.")
;; used by py-completion-at-point, the way of python.el
(defvar python-shell-map
(let ((map (copy-keymap comint-mode-map)))
(define-key map [tab] 'py-shell-complete)
(define-key map "\C-c-" 'py-up-exception)
(define-key map "\C-c=" 'py-down-exception)
map)
"Keymap used in *Python* shell buffers.")
'map' 变量定义好吗?我应该对我的初始化文件做一些更改吗?我假设该文件对其他人都有效,那么为什么我需要将“地图”变量更改为“全局地图”才能在我的计算机上工作?
如果有任何帮助,我正在虚拟机中运行。