Obtenir; 5D lorsque vous appuyez sur la touche ctrl + flèche dans un terminal sur FreeBSD


18

Sur centos, je peux sauter un mot en appuyant sur ctrl + flèche (gauche ou droite) dans un terminal. Quand je ssh dans une boîte FreeBSD et j'essaye le même modèle que j'obtiens:

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

(chaque essai = ; 5D )

Y'a t'il un moyen d'arranger cela? J'utilise Ubuntu 12.04 + Terminator.

Merci d'avance.

Réponses:


26

Un .inputrcdans votre répertoire personnel empêchera ctrl+ leftde fonctionner sur Ubuntu (par exemple).

Pour que tout fonctionne, ajoutez ce qui suit à ~/.inputrc:

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

1
Pour clarifier - cela .inputrcdevrait être réglé sur une machine distante.
omikron

travaillé pour moi, seulement après avoir redémarré byobu.
immeëmosol

1
Pour toute personne qui est totalement absente leurs .inputrc, les lignes concernées étaient pour moi: "\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

Sauf si vous les avez modifiés par défaut, le shell que vous utilisez sur Ubuntu est bash. Sur FreeBSD, le shell par défaut est csh. Vous pouvez changer votre shell avec la commande suivante dans les deux OS:

chsh

Définissez votre shell dans FreeBSD sur / usr / local / bin / bash. Bash ne fait pas partie de FreeBSD, donc si vous ne l'avez pas déjà fait, installez-le à partir des ports:

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

Une dernière chose: ne changez pas le shell pour root. C'est à cela que sert le compte "toor": tous les privilèges de root, mais vous pouvez définir le shell comme bon vous semble. La raison étant qu'il n'y a aucune activité système qui s'exécute sous toor, donc vous ne casserez rien ni ne confondrez personne en changeant le shell de ce compte en quelque chose auquel vous êtes habitué (ou peut être plus fonctionnel comme shell de connexion).


1

Le shell que vous exécutez sur la machine FreeBSD ne prend probablement pas en charge cette séquence de contrôle. Sans savoir quel shell vous utilisez à chaque extrémité, il est difficile de le dire avec certitude.


1

Si vous utilisez ZSH, utilisez-le dans le fichier / 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

Il semble que vous ayez le mauvais paramètre $ TERM. echo $TERMpour connaître votre configuration actuelle. Pourrait vouloir utiliser xterm export TERM=xterm-256color.


toujours pas d'amour = |
jdorfman
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.