Problem jest dwojaki. Po pierwsze, tmuxdomyślnie konwertuje klawisze strzałek kontrolnych z jednego rodzaju sekwencji zmiany znaczenia na inny. Więc specjalne klucze, na które controlleftsą wysyłane vimbez modyfikatora, np left. Jeśli używasz, cat -vaby zobaczyć różne sekwencje specjalne, możesz zobaczyć coś takiego
^[OD
kontra to (poza tmux):
^[[1;5D
Linia
set-window-option -g xterm-keys on
naprawia ten aspekt. Drugą częścią jest to, że tmuxdomyślnie używa opisu terminala dla screen. Ten opis terminala nie opisuje klawiszy strzałek kontrolnych. Te wpisy z bazy danych terminali byłyby najbardziej odpowiednie dla VTE (terminal gnome):
który byłby wybierany automatycznie podczas pracy w screenrazie odpowiedniego TERMzewnątrz były vte, vte-256coloritp tmuxnie to automatyczną selekcję; musisz zmodyfikować jego plik konfiguracyjny.
Nawiasem mówiąc, nie ma wpisu „screen.xterm”, ponieważ zakłócałby niektóre zastosowania screen. Nie ma konfliktu z TERM=xterm-new.
Jeśli masz domyślną (minimalną) bazę danych terminali, taką jak ncurses-baseDebian, możesz ich nie mieć. Bardziej powszechne byłoby xterm-256color, co jest wystarczająco blisko, aby używać go z vimem i tmuxem.
Na przykład, jeśli dodam to do mojego .tmux.confpliku, będzie działał tak, jak się spodziewasz w vimie:
Hmmm ... To działa :) Ale tylko częściowo. Działa tylko Control+ Left; Control+ Rightnie jest. Przetestuję i zaktualizuję później.
shivams,
1
Możesz mieć inne wiążące ingerencje w kontrolę + prawo (biorąc pod uwagę szczegóły, mogę udzielić porady).
Thomas Dickey,
Dziękuję za ofertę :) Trochę przestudiowałem i stwierdziłem, że rzeczywiście niektóre inne skróty klawiszowe powodują zakłócenia. Np. Na moim Macu działa to dobrze, podczas gdy w Linuksie (używając Guake) tak nie jest. Jednak nie mam racji i nie mogę uzyskać dostępu do mojego systemu Linux. Zaktualizuję po rozwiązaniu problemu.
shivams
@Thamam Dickey: Tymczasem akceptuję twoją odpowiedź, ponieważ rzeczywiście rozwiązuje problem.
shivams
@ThomasDickey Chciałbym tylko powiedzieć: „Go raibh míle maith agat”, co w języku irlandzkim dosłownie tłumaczy się jako „Obyś miał tysiąc dobrych rzeczy”. Dziękuję bardzo za tę odpowiedź. Jesteś gwiazdą.
Control
+Left
;Control
+Right
nie jest. Przetestuję i zaktualizuję później.Stąd możesz odpiąć kombinację klawiszy w byobu:
Utwórz plik za
~/.byobu/.tmux.conf
pomocą (lub dodaj, jeśli plik istnieje):Następnie dodaj następujące elementy do
~/.byobu/keybindings.tmux
:źródło