在Emacs术语模式下使用f键的最佳实践

时间:2017-12-29 09:14:47

标签: emacs keyboard key-bindings

我一直在寻找一种在Emacs术语模式下使用f键的规范方法,因为我正在运行一个需要它们的控制台应用程序。

是否已有提供此功能的软件包?

我写了以下内容来映射f键,但这似乎是一个次优的解决方案:

(defvar f-key-defs
  (let ((fkeys nil))
    (dotimes (i 12)
      (push (cons (intern (concat "f" (int-to-string (1+ i))))
                  (format "\e[%d~" (+ i (if (> i 4) 12 11))))
            fkeys))
    fkeys))

(defun send-f-key ()
  "Send an f-key escape sequence to the sub-process."
  (interactive)
  (term-send-raw-string (alist-get last-input-event f-key-defs)))

(dotimes (i 12)
  (define-key term-raw-map
    (vector (intern (concat "f" (int-to-string (1+ i))))
    #'send-f-key))

1 个答案:

答案 0 :(得分:0)

对我来说,这看起来并不是非常不理想的(我调整了您的代码以使用dotimesterm-send-raw-string)。默认情况下提供此功能可能很有意义,因此我建议您M-x report-emacs-bug申请此新功能(包括您的代码作为可能的解决方案)。