На жаль, 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>
et ettera), якщо виявите, що використання x
-variant перестає працювати звичайні клавіші зі стрілками.
Перевага визначення таких клавіш полягає в тому, що вам не потрібно відображати окремі комбінації модифікаторів окремо (Shift, Control, Contol + Shift, Meta, Meta + Shift, Meta + Control, Meta + Control + Shift); *
отримує спеціальну інтерпретацію для обробки всіх відповідних послідовностей (див :help xterm-modifier-keys
).