Obteniendo; 5D al presionar Ctrl + tecla de flecha en una Terminal en FreeBSD

18

En centos, puedo omitir una palabra presionando Ctrl + flecha (izquierda o derecha) en una terminal. Cuando ingreso en un cuadro de FreeBSD e intento el mismo patrón que obtengo:

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

(cada intento = ; 5D )

¿Hay alguna manera de arreglar esto? Estoy usando Ubuntu 12.04 + Terminator.

Gracias por adelantado.

jdorfman
fuente

Respuestas:

26

A .inputrcen su directorio de inicio hará que ctrl+ leftdeje de funcionar en Ubuntu (por ejemplo).

Para que todo funcione, agregue lo siguiente a ~/.inputrc:

# Include system-wide inputrc, which is ignored by default when
# a user has their own .inputrc file.
$include /etc/inputrc
f.kowal
fuente
1
Para aclarar, esto .inputrcdebe establecerse en la máquina remota.
omikron
funcionó para mí, solo después de reiniciar byobu.
immeëmosol
1
Para cualquier persona que falta por completo sus .inputrc, las líneas relevantes para mí fueron: "\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

A menos que haya cambiado estos valores por defecto, el shell que está utilizando en Ubuntu es bash. En FreeBSD, el shell predeterminado es csh. Puede cambiar su shell con el siguiente comando en ambos sistemas operativos:

chsh

Configure su shell en FreeBSD a / usr / local / bin / bash. Bash no es parte de FreeBSD, así que si aún no lo ha hecho, instálelo desde los puertos:

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

Una última cosa: no cambie el shell por root. Para eso está la cuenta "toor": todos los privilegios de root, pero puedes configurar el shell a lo que quieras. La razón es que no hay actividades del sistema que se ejecuten bajo toor, por lo que no romperá nada ni confundirá a nadie cambiando el shell de esa cuenta a algo a lo que está acostumbrado (o puede ser más funcional como un shell de inicio de sesión).

Utkonos
fuente
1

El shell que está ejecutando en la máquina FreeBSD probablemente no sea compatible con esa secuencia de control. Sin embargo, sin saber qué shell está ejecutando en cada extremo, es difícil decirlo con certeza.

wfaulk
fuente
1

Si usa ZSH, entonces use esto en el archivo / 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
fuente
0

Parece que puede tener una configuración incorrecta de $ TERM. echo $TERMpara averiguar cuál es su configuración actual. Puede que quieras usar xterm export TERM=xterm-256color.

aaron kaufman
fuente
todavía no hay amor = |
jdorfman