Gdybym biegnie emacsowi w terminalu (czyli rozpocząć emacs w iTerm2 z emacs -nw
) użyciu windmove
i to domyślne powiązania, powinienem być w stanie poruszać się pomiędzy oknami z wykorzystaniem różnych kombinacji Shift
+ →
←
↑
↓
, także paredit
ma powiązania, które angażują Ctrl
/Meta
+ →
←
↑
↓
, wszystkie te działają dobrze w (powiedzmy) buforze trybu eliz.Dlaczego Shift + wiązanie strzałek nie działa w trybie clojure w terminalu emacs?
Wygląda funkcjonalność klawiszy strzałek opiera się na emacs dekodujących sekwencje końcowe ewakuacyjnych, przez (chyba) input-decode-map
Jednakże, jeśli mogę ustawić tryb główną jak clojure-mode
pojawi dekodowanie sekwencji ucieczki jest wyłączony (lub nadpisane). Kiedy wykonuję te wiązania, otrzymuję zamiast tego sekwencję ucieczki.
Co się dzieje z powiązaniami w clojure-mode
?
Wersje:
- Emacsa 24.3.1 (próbowałem wersję maxosxforemacs.com i homebrew)
- clojure-mode 20.131.117,2306 (próbowałem inne wersje)
- OSX 10.8.5
- iTerm2 1.0.0.20131124
(Uwaga: I raised this as an issue on clojure-mode, but no solution is forthcoming)
UPDATE 2013/12/10: Aby było absolutnie jasne: ten problem dotyczy tylko modelu clojure-mode
. emacs -nw
w iTerm + klawisze strzałek działają dobrze w innych głównych trybach. Jestem pewien, że robię coś głupiego, co to powoduje, chciałbym wiedzieć co.
Co masz na myśli przez terminal emacs? emacs w terminalu? który emulator, jeśli tak? M-x description-key powie Ci, która funkcja używa danego wiązania (i powie ci, jakie emacs klawisza dostaje, w przypadku, gdy jest to problem z konwersją sygnału wejściowego). – noisesmith
Patrząc na twój drugi post powyżej, wyobrażam sobie, że różnica może sprowadzać się do niezgodności między iterm a xterm. Spróbuj uruchomić emacs na ekranie lub tmux, przechwytują zdarzenia wejściowe i czasami są lepiej kompatybilne niż sam terminal. – noisesmith
@ Wszystkie fajerwerki działają poprawnie w trybach innych niż '' clojure-mode'', '' clojure-mode'', '' Mx describe-key'' po prostu opisują pierwszy znaczący znak w sekwencji escape (zwykle [), więc problem jest specyficzny dla '' clojure-mode'' – sw1nn