Wenn ich emacs in einem Terminal starte (d. h. Emacs in iTerm2 mit emacs -nw
starten)
Mit windmove
und seinen Standardbindungen sollte ich in der Lage sein, mit verschiedenen Kombinationen von Shift
+ →
←
↑
↓
zwischen Fenstern zu navigieren. Auch paredit
hat Bindungen mit Ctrl
/ Meta
+ →
←
↑
↓
, alle funktionieren gut (sagen wir) in einem Puffer im elisp-Modus.
Sieht so aus, als ob die Funktionalität der Pfeiltasten auf Emacs beruht, die terminale Escape-Sequenzen dekodieren, über (ich glaube) das input-decode-map
Wenn ich jedoch den Hauptmodus als clojure-mode
einstelle, scheint die Decodierung der Escape-Sequenzen deaktiviert (oder überschrieben) zu sein. Wenn ich diese Bindungen ausführe, bekomme ich stattdessen nur die Escape-Sequenz.
Was passiert mit den Bindungen in clojure-mode
?
Versionen:
(Disclaimer: Ich habe dies als Problem im Clojure-Modus angesprochen, aber es gibt keine Lösung )
UPDATE 2013/12/10: Um ganz klar zu sein: Dieses Problem ist spezifisch für clojure-mode
. emacs -nw
in iTerm + Pfeiltasten funktioniert in anderen Hauptmodi gut. Ich bin mir sicher, dass ich etwas Dummes mache, das das verursacht, ich würde gerne wissen, was.
Fast identische Einstellung hier, aber kein ähnliches Problem. Folgendes würde ich trotzdem tun. Bewerten Sie zuerst den folgenden Emacs-Lisp-Code im Arbeitsspeicher.
%Vor% Versuche die Windmove-Bindungen, wenn der Clojure-Modus aktiviert ist. Wenn dies Ihr Problem behebt und angenommen wird, dass Ihre TERM-Umgebungsvariable auf xterm-256color
festgelegt ist, fügen Sie Folgendes in Ihr init.el
Hoffe, das hilft.