关于如何让emacs向程序发送未绑定的F1..F12密钥,就像在'ansi-term‘缓冲区中的常规终端一样,有什么建议吗?
发布于 2010-03-08 16:41:19
它不是你想要的“解除绑定”,而是将这些键绑定到正确的转义序列。下面的代码将把f1..f5绑定到term和ansi-term缓冲区的那些键的vt100转义序列。我不确定ansi的正确序列是什么,因此请相应地调整alist。
(defun term-send-function-key ()
(interactive)
(let* ((char last-input-event)
(output (cdr (assoc char term-function-key-alist))))
(term-send-raw-string output)))
(defconst term-function-key-alist '((f1 . "\e[OP")
(f2 . "\e[OQ")
(f3 . "\e[OR")
(f4 . "\e[OS")))
(dolist (spec term-function-key-alist)
(define-key term-raw-map
(read-kbd-macro (format "<%s>" (car spec)))
'term-send-function-key))https://stackoverflow.com/questions/2396680
复制相似问题