Après la dernière mise à jour du système, la commande ctrl + flèche gauche / droite sur le terminal zsh ne fait rien. Ctrl + u a également quelque chose qui ne va pas, car généralement cette commande efface du curseur au début de la ligne, alors qu'elle efface maintenant la ligne entière. Quelqu'un sait comment résoudre ces problèmes? Merci à tous.
zsh
keyboard-shortcuts
gentoo
riskio
la source
la source
Réponses:
FWIW, c'est ce qui a fonctionné sur mon environnement (rhel5.x) en utilisant la valeur par défaut de zsh.
la source
^[^[[D
et^[^[[C
, respectivement, pour OSX.zshrc
par défaut.$terminfo
place des séquences d'échappement: les clés$terminfo[kLFT5]
et$terminfo[kRIT5]
travaillé pour moiCtrl + U est très probablement parce que vous avez le curseur à la fin de la ligne. Deuxièmement, à quelle version de Gentoo faites-vous référence en tant que «dernière mise à jour du système»?
Et qu'aimeriez-vous que les touches ctrl + gauche / droite fassent?
bindkey '^[[1;5C' emacs-forward-word
bindkey '^[^[[D' emacs-backward-word
bindkey ";5C" forward-word
bindkey ";5D" backward-word
Remarque: Si la configuration fonctionne mais que les touches supposées ne font pas ce que vous voulez, c'est peut-être parce que la définition de la clé diffère de la vôtre et de la mienne, faites-le:
cat > /dev/null
et appuyez sur les touches que vous souhaitez obtenir et ajustez en conséquence.la source
Ce qui fonctionne ne dépend pas directement de la distribution (Gentoo, Debian, RHEL etc.) ou du shell (ZSH, KSH, BASH) - cela dépend de ce qui
terminal emulator
est utilisé et de ses paramètres: konsole, terminator, urxvt, lx-terminal etc. La distribution peut être importante si elle utilise une configuration de shell standard différente (fx. .zshrc), et si vous utilisez un shell différent qui configure la coque sur cette distribution, elle peut déjà la gérer.Voici quelques solutions spécifiques à l'émulateur de terminal:
urxvt / rxvt-unicode (et peut-être d'autres):
terminator, konsole et xterm (et peut-être d'autres):
Pour une approche plus générale, vous démarrez votre terminal, appuyez sur CTRL-V suivi de la combinaison de touches dont vous voulez le code d'échappement (le nom) - dans ce cas, les combinaisons de touches CTRL-leftarrow et CTRL-rightarrow - et mettez la sortie pour chaque combinaison de touches entre les deux guillemets.
la source
terminal emulator
utilisation. La distribution ou le shell n'a pas d'importance. C'est probablement aussi pourquoi il n'est pas dans .zshrc, car ce qui fonctionne pour un émulateur de terminal ne fonctionne pas pour un autre. Mais cela pourrait probablement être résolu si zshrc fx. lire la variable d'environnement $ TERM et appliquer différents paramètres de bindkey en fonction du résultat.Résolu.
Terminal utilisé: Konsole .
Pour résoudre: cliquez avec le bouton droit sur le terminal (ou les paramètres dans la barre de menus) -> modifier le profil actuel -> mappage du clavier -> passer à Default (xfree4)
la source