I am trying to bind a few keys for my M-x ansi-term windows in Emacs 24.1. I tried adding the following to my .emacs file:
(define-key term-raw-map (kbd "M-J") 'windomove-left)
But Emacs complains with:
Debugger entered--Lisp error: (void-variable term-raw-map)
(define-key term-raw-map (kbd "M-J") (quote windmove-left))
Update: Using the construction provided by dkim I can also switch to term-char-mode. Everything works now:
(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
))
From the
term-load-hookvariable’s documentation,