/ / Nechajte emacs poslať klávesy F <n> programom v 'ansi-term' - emacs

Nechajte emacs posielať klávesy F <n> na programy v "ansi-term" - emacs

Akékoľvek rady o tom, ako nechať emacs posielať neviazané F1..F12 kľúče do programov rovnako ako v bežnom termináli, keď je v „ansi-term“ buffer?

odpovede:

2 pre odpoveď č. 1

Nie je to "nezáväzné", ktoré hľadáte, aleväzba týchto kľúčov na správne únikové sekvencie. Nasledujúce sa bude viazať [f1] .. [f5] na vt100 únikové sekvencie pre tieto kľúče pre termíny a ansi-term buffre. Nie som si istý, aké správne sekvencie sú pre ansi, takže vyladte 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))