К сожалению, screen
записи базы данных terminfo на основе часто не определяют какие-либо последовательности для измененных клавиш со стрелками (т. Е. Они могут не иметь kUP
и т. Д.), Поэтому программы, работающие внутри tmux, могут не знать, ожидают ли такие последовательности. Вам нужно будет вручную настроить любые программы, которые вы хотите распознать эти ключи. В Vim вы можете поместить это в свой ~/.vimrc
:
if &term =~ '^screen'
" 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"
endif
Возможно, вы захотите использовать варианты без x
(то есть <Up>
вместо <xUp>
, и так далее), если вы обнаружите, что использование x
-variant приводит к тому, что ваши обычные клавиши со стрелками перестают работать.
Преимущество определения таких клавиш состоит в том, что вам не нужно отображать каждую из комбинаций модификаторов по отдельности (Shift, Control, Contol + Shift, Meta, Meta + Shift, Meta + Control, Meta + Control + Shift); *
получает специальную интерпретацию для обработки всех соответствующих последовательностей (см :help xterm-modifier-keys
).