Отримання; 5D при натисканні клавіш ctrl + клавіша зі стрілкою в терміналі на FreeBSD


18

У центсі я можу пропустити слово, натиснувши ctrl + стрілку (ліворуч або праворуч) у терміналі. Коли я впадаю в вікно FreeBSD і намагаюся виконати ту саму схему:

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

(кожна спроба = ; 5D )

Чи є спосіб це виправити? Я використовую Ubuntu 12.04 + Terminator.

Заздалегідь спасибі.

Відповіді:


26

A .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

1
Для уточнення - це .inputrcслід встановити на віддаленій машині.
омікрон

працював для мене, тільки після перезавантаження byobu, хоча.
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, але ви можете встановити оболонку на все, що завгодно. Причина полягає в тому, що не відбувається жодної системної діяльності, яка працює під тором, тому ви нічого не порушите і не заплутаєте, змінивши оболонку цього облікового запису на те, до чого ви звикли (або може бути більш функціональним як оболонка для входу).


1

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


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

0

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


досі немає любові = |
jdorfman
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.