我在Emacs 24.1 中使用 WindMove 来使用键盘快捷键移动多个窗口:
(global-set-key (kbd "M-J") 'windmove-left) ; move to window on the left
(global-set-key (kbd "M-L") 'windmove-right) ; move " " the right
(global-set-key (kbd "M-I") 'windmove-up) ; move " " above
(global-set-key (kbd "M-K") 'windmove-down); ; move " " below
有没有办法在 ansi-term 上将这些 WindMove 键盘快捷键与字符串运行模式相关联?我想避免必须切换到线路运行模式以便在窗口之间移动。一段时间后,来回输入 C-c C-k 和 C-c C-j 进入/离开终端变得乏味。
答案 0 :(得分:2)
默认情况下,term-char-mode
会将大多数密钥转发到终端,而不会在Emacs中解释它们,这就是windmove
密钥绑定不起作用的原因。
这是一种覆盖term-char-mode
键映射以强制windmove
绑定被解释而不是转发的方法:
(eval-after-load "term"
'(progn
(define-key term-raw-map (kbd "M-J") 'windmove-left)
(define-key term-raw-map (kbd "M-L") 'windmove-right)
;; ...
))