4

我正在尝试创建一个新的键绑定,它将在所有模式下都可以正常工作,除了一个模式,它与另一个模式冲突。例如:

(global-set-key (kbd "<C-S-down>") 'move-line-down)

有没有一种简单的方法(不为特定的本地模式设置它)使其全局排除特定模式?

4

2 回答 2

1

你可以添加一个函数来after-change-major-mode-hook设置当前本地键盘映射中的键,除了你想避免的特定模式。

于 2013-01-06T19:24:17.817 回答
0

如果要排除一种特定模式,可以执行以下操作:

(global-set-key (kbd "<C-S-down>") 'move-line-down) 

使其在全球范围内可用,并且

(define-key KEYMAP (kbd "<C-S-down>") nil) 

排除一种模式,其中 KEYMAP 是模式的名称,后跟“mode-map”(例如 ess-mode-map)。您还可以将原始事物绑定到键而不是nil.

于 2013-01-06T18:48:39.153 回答