vim wie XTerm -jak zaciski (oznaczony za wyrazem wychodząc z xterm
lub konkretnej odpowiedzi na sekwencji t_RV
, jeśli istnieje) wspiera rozszerzone sekwencje określonych kluczy zmodyfikowane, ale nie bierze za to screen
TERMINY (które powinieneś używać pod tmux).
Można jednak powiedzieć Vima o tych sekwencji i umożliwić im jeśli tmux jest obecny, i terminu rozpoczyna się screen
(pierwsze linie włączyć (lepszą) obsługuje mysz pod tmux, które polubisz też):
if &term =~ '^screen' && exists('$TMUX')
set mouse+=a
" tmux knows the extended mouse mode
set ttymouse=xterm2
" tmux will send xterm-style keys when xterm-keys is on
execute "set <xUp>=\e[1;*A"
execute "set <xDown>=\e[1;*B"
execute "set <xRight>=\e[1;*C"
execute "set <xLeft>=\e[1;*D"
execute "set <xHome>=\e[1;*H"
execute "set <xEnd>=\e[1;*F"
execute "set <Insert>=\e[2;*~"
execute "set <Delete>=\e[3;*~"
execute "set <PageUp>=\e[5;*~"
execute "set <PageDown>=\e[6;*~"
execute "set <xF1>=\e[1;*P"
execute "set <xF2>=\e[1;*Q"
execute "set <xF3>=\e[1;*R"
execute "set <xF4>=\e[1;*S"
execute "set <F5>=\e[15;*~"
execute "set <F6>=\e[17;*~"
execute "set <F7>=\e[18;*~"
execute "set <F8>=\e[19;*~"
execute "set <F9>=\e[20;*~"
execute "set <F10>=\e[21;*~"
execute "set <F11>=\e[23;*~"
execute "set <F12>=\e[24;*~"
endif
Jak zaznaczono w komentarzu, należy również włączyć opcję okna xterm-keys
. Można to zrobić na wszystkich oknach, jak to (w Twojej ~/.tmux.conf
):
set-option -gw xterm-keys on
(Pamiętaj, że zmiany ~/.tmux.conf
nie są automatycznie ładowane Aby były skuteczne, trzeba będzie ręcznie uruchomić to polecenie (w tmux
. polecenie powłoki lub po znaku zachęty Prefiks :
) lub ponownie załaduj plik konfiguracyjny za pomocą (w komendzie powłoki lub po znaku zachęta Prefiks :
) lub zrestartuj serwer (zakończ wszystkie sesje i ponownie uruchom tmux)).
Możliwe, że twój system operacyjny lub terminal przechwytują te sekwencje klawiszy. Mój Vim wydaje się nie odbierać ich z moją obecną konfiguracją KiTTY/tmux, ale nie zajrzałem do tego zbyt wiele. –
Czy te mapowania działają poza tmux? Jaki jest twój "$ TERM" w tmux? – romainl
Tak, mapowania działają poza tmux. '$ TERM' w tmux jest takie samo jak z' tmux', które jest 'xterm-256color'. –