Warum funktionieren Shift + Pfeil-Bindings nicht im Clojure-Modus im Emacs-Terminal?

9

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:

  • Emacs 24.3.1 (habe maxosxforemacs.com Version und Homebrew versucht)
  • clojure-mode 20131117.2306 (habe andere Versionen ausprobiert)
  • OSX 10.8.5
  • iTerm2 1.0.0.20131124

(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.

    
sw1nn 08.12.2013, 22:32
quelle

2 Antworten

2

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

ein %Vor%

Hoffe, das hilft.

    
Daniel Szmulewicz 12.12.2013 20:41
quelle
1

Überprüfen Sie Ihre Einstellungen in Iterm, genauer gesagt die "Global Shortcut Keys". Diese haben Vorrang vor dem, was an Emacs gesendet wird. C-Shift-Arrow wird verwendet, um Tabs in Iterm zu wechseln, glaube ich und kann mit Emacs stören.

    
gvickers 12.12.2013 07:09
quelle

Tags und Links