ido-switch-buffer 不能在 emacs24 的 python 模式下绑定到 <backtab>

ido-switch-buffer can't be bound to <backtab> in python mode of emacs24

我在使用emacs23的时候,是这样配置ido的:

(require 'ido)
(ido-mode t)
(global-set-key (quote [backtab]) (quote ido-switch-buffer))
(define-key ido-common-completion-map (quote [backtab]) 'ido-next-match)
(define-key ido-common-completion-map (kbd "<C-S-iso-lefttab>") 'ido-prev-match)

但是当我升级到emacs24时,发现.py中的backtab绑定了python-indent-dedent-line,所以无法执行ido-switch-buffer

我该怎么办?

您可以在 python-mode-map 中绑定它,因为它优先于 python 缓冲区中的全局映射。并且,类似地,次要模式地图的优先级高于两者。

(define-key python-mode-map (kbd "<backtab>") 'ido-switch-buffer)