Это не tmux и не экран, который "пропускает слова"; ввод текста обеспечивается вашей оболочкой. Поэтому вы должны выяснить, какую последовательность клавиш генерируют Ctrl+ стрелки, и научить свою оболочку, что означает "пропустить слово". В противном случае он прекратит интерпретацию средней последовательности, потому что он не распознается.
Если вы используете bash, он берет некоторые определения ключей из ncurses/terminfo, а другие из файла "inputrc". Поэтому сначала убедитесь, что у вас установлены определения терминалов ncurses («ncurses-term» или аналогичный). И если у вас есть пользовательский ~/.inputrc
, скажите ему импортировать общесистемный, используя:
$include /etc/inputrc
Если это не поможет, добавьте пользовательское сопоставление в файл ~/.inputrc (конечно, на сервере):
В bash нажмите Ctrl V (клавиша "дословный ввод"), а затем Ctrl →. Вы увидите escape-последовательность «Ctrl + вправо», вставленную в виде простого текста:
^[[1;5C
^[
Означает символ "ESC"; остальные - простой текст. Так что это ESC [ 1 ; 5 C
.
В man bash
найдите команду inputrc ("readline") для пропуска слова. (Это forward-word
.)
В ~/.inputrc
добавьте последовательность клавиш и команду. ("ESC" пишется как \e
.)
"\e[1;5C": forward-word
Повторите то же самое для Ctrl ←.
Закройте ssh, затем подключитесь снова и посмотрите, работает ли он.
Обратите внимание, что большинство дистрибутивов уже имеют эти конкретные отображения в /etc/inputrc
.