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

Получение; 5D при нажатии ctrl + клавиши со стрелкой в ​​Терминале на FreeBSD

В centos я могу пропустить слово, нажав ctrl + стрелку (влево или вправо) в терминале. Когда я использую ssh для FreeBSD и пробую тот же шаблон, я получаю:

$ tail -f 20120412.log;5D;5D;5D

(каждая попытка = ; 5D)

Есть способ исправить это? Я использую Ubuntu 12.04 + Terminator.

Заранее спасибо.

А .inputrc в вашем домашнем каталоге вызовет ctrl+осталось прекратить работу над Ubuntu (например).

Чтобы все заработало, добавьте в ~/.inputrc:

# Include system-wide inputrc, which is ignored by default when
# a user has their own .inputrc file.
$include /etc/inputrc

Если вы не изменили их по умолчанию, оболочка, которую вы используете в Ubuntu, - bash. Во FreeBSD оболочка по умолчанию - csh. Вы можете изменить свою оболочку с помощью следующей команды в обеих ОС:

chsh

Установите оболочку FreeBSD на / usr / local / bin / bash. Bash не является частью FreeBSD, поэтому, если вы еще этого не сделали, установите его из портов:

cd /usr/ports/shells/bash
make install
make clean

И последнее: не меняйте оболочку на root. Для этого и предназначена учетная запись "toor": все привилегии root, но вы можете настроить оболочку на все, что захотите. Причина в том, что нет никаких системных действий, которые выполняются под toor, поэтому вы ничего не сломаете и не запутаете кого-либо, изменив оболочку этой учетной записи на то, к чему вы привыкли (или может быть более функциональным в качестве оболочки входа).

Если вы используете ZSH, то используйте его в / etc / zshrc файл.

case "${TERM}" in
  cons25*|linux) # plain BSD/Linux console
    bindkey '\e[H'    beginning-of-line   # home 
    bindkey '\e[F'    end-of-line         # end  
    bindkey '\e[5~'   delete-char         # delete
    bindkey '[D'      emacs-backward-word # esc left
    bindkey '[C'      emacs-forward-word  # esc right
    ;;
  *rxvt*) # rxvt derivatives
    bindkey '\e[3~'   delete-char         # delete
    bindkey '\eOc'    forward-word        # ctrl right
    bindkey '\eOd'    backward-word       # ctrl left
    # workaround for screen + urxvt
    bindkey '\e[7~'   beginning-of-line   # home
    bindkey '\e[8~'   end-of-line         # end
    bindkey '^[[1~'   beginning-of-line   # home
    bindkey '^[[4~'   end-of-line         # end
    ;;
  *xterm*) # xterm derivatives
    bindkey '\e[H'    beginning-of-line   # home
    bindkey '\e[F'    end-of-line         # end
    bindkey '\e[3~'   delete-char         # delete
    bindkey '\e[1;5C' forward-word        # ctrl right
    bindkey '\e[1;5D' backward-word       # ctrl left
    # workaround for screen + xterm
    bindkey '\e[1~'   beginning-of-line   # home
    bindkey '\e[4~'   end-of-line         # end
    ;;
  screen)
    bindkey '^[[1~'   beginning-of-line   # home
    bindkey '^[[4~'   end-of-line         # end
    bindkey '\e[3~'   delete-char         # delete
    bindkey '\eOc'    forward-word        # ctrl right
    bindkey '\eOd'    backward-word       # ctrl left
    bindkey '^[[1;5C' forward-word        # ctrl right
    bindkey '^[[1;5D' backward-word       # ctrl left
    ;;
esac

Похоже, у вас неправильная настройка $ TERM. echo $TERM чтобы узнать, каковы ваши текущие настройки. Возможно, вы захотите использовать xterm export TERM=xterm-256color.

Оболочка, которую вы запускаете на машине FreeBSD, вероятно, не поддерживает эту последовательность управления. Однако, не зная, с какой оболочкой вы работаете, трудно сказать наверняка.