无法在Emacs中使用define-key定义键绑定

时间:2012-09-20 17:41:24

标签: emacs keyboard-shortcuts

我正在尝试为Emacs 24.1 中的M-x ansi-term窗口绑定几个键。我尝试将以下内容添加到我的.emacs文件中:

(define-key term-raw-map (kbd "M-J") 'windomove-left)

但是Emacs抱怨道:

Debugger entered--Lisp error: (void-variable term-raw-map)
  (define-key term-raw-map (kbd "M-J") (quote windmove-left))

更新:使用dkim提供的结构我也可以切换到 term-char-mode 。现在一切正常:

(add-hook 'term-load-hook
  (lambda () 
    (define-key term-raw-map (kbd "M-J") 'windmove-left)  ; Move to the left window
    (define-key term-raw-map (kbd "M-L") 'windmove-right) ; " " right "
    (define-key term-raw-map (kbd "M-I") 'windmove-up)    ; " " above "
    (define-key term-raw-map (kbd "M-K") 'windmove-down)    ; " " above "
    `term-char-mode
    ))

1 个答案:

答案 0 :(得分:1)

(add-hook 'term-load-hook
  (lambda () (define-key term-raw-map (kbd "M-J") 'windmove-left)))

term-load-hook变量的文档中

  

<强> term-load-hook

     

加载术语时运行此挂钩。   这是放置键绑定的好地方。