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

18

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

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

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

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

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

jdorfman
источник

Ответы:

26

.inputrcВ вашей домашней директории будет вызывать ctrl+ leftпрекратить работать на Ubuntu (например).

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

# Include system-wide inputrc, which is ignored by default when
# a user has their own .inputrc file.
$include /etc/inputrc
f.kowal
источник
1
Чтобы уточнить - это .inputrcдолжно быть установлено на удаленной машине.
omikron
у меня сработало, только после перезагрузки бёбу хоть.
immeëmosol
1
Для тех , кто , что полностью отсутствует их .inputrc, соответствующие строки для меня были: "\e[1;5C": forward-word, "\e[1;5D": backward-word, "\e[5C": forward-word, "\e[5D": backward-word, "\e\e[C": forward-word,"\e\e[D": backward-word
AlbinoDrought
2

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

Утконос
источник
1

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

wfaulk
источник
1

Если вы используете 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
vermaden
источник
0

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

Аарон Кауфман
источник
все еще нет любви = |
Jdorfman