Назад | Перейти на главную страницу

Мой терминал возвращается; 5A; 5D; 5B; 5C всякий раз, когда я использую CTRL + стрелка

я использую CentOS Linux release 7.0.1406 (Core) и я ssh в следующую систему:

$ uname -a
FreeBSD X 9.2-RELEASE-p5 FreeBSD 9.2-RELEASE-p5 #0 r265974: Wed May 14 07:57:04 PDT 2014     root@X:/usr/obj/usr/src/sys/R610  amd64
$ 

Всякий раз, когда я пытаюсь использовать CTRL + arrow как и в терминале Linux, я получаю следующее:

[alexus@j ~]$ ;5A;5D;5B;5C

Мой Linux $TERM:

[alexus@wcmisdlin02 Desktop]$ echo $TERM
xterm-256color
[alexus@wcmisdlin02 Desktop]$ 

Как бы это разрешить?

* ОБНОВИТЬ *

на user8558:

[alexus@wcmisdlin02 Desktop]$ tail -4 /etc/inputrc 
# for freebsd console
"\e[H": beginning-of-line
"\e[F": end-of-line
$endif
[alexus@wcmisdlin02 Desktop]$ 

следующее решило мою проблему:

[root@j ~]# tail -1 /etc/profile 
export INPUTRC=/usr/local/etc/inputrc
[root@j ~]# cat /usr/local/etc/inputrc 
"\e[1;5C": forward-word
"\e[1;5D": backward-word
[root@j ~]# 

Загляните в / etc / termcap или / etc / terminfo (не уверен, какой из них использует FreeBSD), если есть запись termcap для xterm-256color.

Если да, вероятно, это неправильно (или какая бы то ни было программа, в которой вы работаете, неправильно использует информацию о терминале, но пытается анализировать коды терминала вручную; если у вас есть версия GNU Bash на FreeBSD, попробуйте запустить эту и воспроизвести ее внутри, как известно правильное использование termcap / terminfo). Возможно, вы найдете какую-нибудь настройку совместимости для .termcap чтобы решить эту проблему.

Если нет, либо найдите какой-нибудь пример для добавления (или перекомпилируйте termcap / terminfo, если он есть в более поздней версии), либо измените настройки эмулятора терминала (я предполагаю xterm) для эмуляции другого терминала (например, xterm или linux или rxvt) вместо этого.

Возможно, это поможет: https://forums.freebsd.org/threads/howto-escape-from-rxvt-unicode-256color-termcap-terminfo-and-screen-hell.13345/

В TERM переменной окружения, вероятно, будет недостаточно, потому что речь идет не о маневрах перемещения курсора, а об инструменте редактирования командной строки. Вам необходимо настроить в своей библиотеке редактирования командной строки, какая команда может позволить курсору двигаться в разных направлениях.

Вероятно, ваша оболочка - это bash, которая использует библиотеку readline для редактирования командной строки. Эта библиотека может быть настроена с помощью файлов конфигурации /etc/inputrc или с .inputrc в твоем доме.

Что в них нужно настроить: (пример из Вот).

 # Arrow keys in 8 bit ANSI mode
 #
 "\M-\C-[D"       backward-char
 "\M-\C-[C"       forward-char
 "\M-\C-[A"       previous-history
 "\M-\C-[B"       next-history

Фактические последовательности (в первом столбце) могут быть изменены в вашем особом случае, но это, вероятно, сработает.