Dapatkan; 5D saat menekan tombol ctrl + panah di Terminal di FreeBSD

18

Pada centos saya dapat melewati kata dengan menekan ctrl + panah (kiri atau kanan) di terminal. Ketika saya ssh ke kotak FreeBSD dan saya mencoba pola yang sama saya dapatkan:

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

(setiap percobaan = ; 5D )

Apakah ada cara untuk memperbaikinya? Saya menggunakan Terminator Ubuntu 12.04 +.

Terima kasih sebelumnya.

jdorfman
sumber

Jawaban:

26

A .inputrcdi direktori home Anda akan menyebabkan ctrl+ leftberhenti bekerja di Ubuntu (misalnya).

Agar semuanya berfungsi, tambahkan yang berikut ke ~/.inputrc:

# Include system-wide inputrc, which is ignored by default when
# a user has their own .inputrc file.
$include /etc/inputrc
f.kowal
sumber
1
Untuk memperjelas - ini .inputrcharus diatur pada mesin jarak jauh.
omikron
bekerja untuk saya, hanya setelah memulai ulang byobu sekalipun.
immeëmosol
1
Bagi siapa saja yang seluruhnya hilang mereka .inputrc, garis yang relevan bagi saya adalah: "\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

Kecuali Anda telah mengubahnya dari default, shell yang Anda gunakan di Ubuntu adalah bash. Pada FreeBSD, shell default adalah csh. Anda dapat mengubah shell Anda dengan perintah berikut di kedua OS:

chsh

Atur shell Anda di FreeBSD ke / usr / local / bin / bash. Bash bukan bagian dari FreeBSD, jadi jika Anda belum melakukannya, instal dari port:

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

Satu hal terakhir: jangan mengganti shell untuk root. Inilah tujuan akun "toor": semua hak akses root, tetapi Anda dapat mengatur shell untuk apa pun yang Anda inginkan. Alasannya adalah karena tidak ada aktivitas sistem yang berjalan di bawah toor, jadi Anda tidak akan merusak apa pun atau membingungkan siapa pun dengan mengubah shell akun itu menjadi sesuatu yang biasa Anda gunakan (atau mungkin lebih fungsional sebagai shell login).

Utkonos
sumber
1

Shell yang Anda jalankan di mesin FreeBSD mungkin tidak mendukung urutan kontrol itu. Namun, tanpa mengetahui shell apa yang Anda gunakan pada kedua ujungnya, sulit untuk mengatakannya dengan pasti.

wfaulk
sumber
1

Jika Anda menggunakan ZSH, gunakan ini di file / 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
sumber
0

Sepertinya Anda mungkin memiliki pengaturan $ TERM yang salah. echo $TERMuntuk mengetahui apa pengaturan Anda saat ini. Mungkin ingin menggunakan xterm export TERM=xterm-256color.

aaron kaufman
sumber
masih tidak ada cinta = |
jdorfman