Ich denke, Ihr Problem ist, dass Ihre .emacs-Datei etwas wie local-function-key-map
oder einstellt, input-decode-map
aber diese Variablen sind terminallokal, was bedeutet, dass jedes "Terminal" (Ihre GUI ist ein "Terminal") und jede emacsclient-Verbindung über ein Text-Terminal eine andere ist "terminal") erhält einen anderen Wert dieser Variablen.
Sie müssen diesen Code also für jedes neue Terminal erneut ausführen. Sie können dies after-make-frame-functions
von reza.safiyat aus tun, es wird öfter ausgeführt als benötigt (einmal pro Frame, nicht einmal pro Terminal). Da dies jedoch wahrscheinlich nur für "xterm" -Terminals benötigt wird, ist es eine andere gute Möglichkeit, dies von zu tun terminal-init-xterm-hook
:
(defun my-text-terminal-keys () (define-key input-decode-map ...) (define-key local-function-key-map ...)) (add-hook 'terminal-init-xterm-hook #'my-text-terminal-keys)
Übrigens, manchmal ist eine Alternative zu verwenden function-key-map
, da dies eine globale Variable ist und für alle Terminals gleichermaßen gilt.