2017-12-29 10 views
2

Emacs term-mode에서 f-keys를 사용하는 표준 방법을 찾고 있습니다. 필자는이를 필요로하는 콘솔 응용 프로그램을 실행하고 있습니다.Emacs term-mode에서 f-keys를 사용하는 모범 사례

이미이 기능을 제공하는 패키지가 있습니까?

내가이 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)) 

답변

0

그것은 나에게 매우 최적 보이지 않는 (나는 dotimesterm-send-raw-string를 사용하도록 코드를 쥐게) . 그리고이 기능을 기본적으로 제공하는 것이 좋습니다. M-x report-emacs-bug (가능한 해결책으로 코드 포함)이 새로운 기능을 요청하는 것이 좋습니다.

+0

감사합니다. 이 시점에서 나는 노련한 emacs 사용자이지만, 나는 기여를하는 것이 완전히 새로운 것이다. 코드가 받아 들여지기 위해서 GNU 카피 레프트 계약이나 다른 것에 서명해야합니까? –

+0

및 ... 개선 된 솔루션을보고 할 때 나는 당신을 귀중하게해야합니까? –

+0

우리가 거기에 도착하면 우리는이 다리를 건너 죠. – Stefan