я использую 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
Фактические последовательности (в первом столбце) могут быть изменены в вашем особом случае, но это, вероятно, сработает.