J'utilise GNOME Terminal 2.7.3 et zsh 4.3.9 (x86_64-unknown-linux-gnu)
Home
et End
ne fonctionnent pas. Rien ne se passe et rien ne s'affiche lorsque j'appuie dessus. mais ils fonctionnent lorsque j'appuie sur shift + Home
(Fait défiler jusqu'au début de la sortie du shell.) et fonctionnent également dans d'autres programmes GUI. J'ai googlé et essayé ce qui suit. Pas de changement :(
885 bindkey "\e[1~" beginning-of-line
886 bindkey "\e[H" beginning-of-line
887 bindkey "\e1~" beginning-of-line
888 bindkey "\eH" beginning-of-line
889 bindkey "\e[0H" beginning-of-line
PS: Lorsque je suis dans le dernier onglet et appuyez sur Ctrl + pagedown
je ;5~
m'imprime à l'écran. Est-ce que cela donne un indice?
.inputrc
dans votre répertoire personnel? Cela se produit-il avec un utilisateur fraîchement créé? Cela s'est-il toujours produit ou a-t-il commencé un jour?.inputrc
. Je n'ai pas l'autorisation de créer un nouvel utilisateur. C'était toujours comme ça. Je vis avecctrl +a
etctrl+e
.ctrl+a
&ctrl+e
;-)Réponses:
Je suis sur fedora maintenant mais je vous suggère de lire attentivement le wiki d'Archlinux , tout cela: les touches Accueil et Fin ne fonctionnent pas .
Ce que j'ai fait pour le réparer:
Appuyez sur Ctrl-V Accueil, la séquence d'échappement pour la touche Accueil est imprimée. Ce n'est pas
\e[4~
et\e[1~
comme je m'y attendais en regardant/etc/inputrc
. C'était[H
et[F
Extraire les informations du terminal
infocmp $TERM >terminfo.src
Ouvrez ce fichier pour le modifier, par exemple
vim terminfo.src
, recherchezkhome
etkend
il est affecté à quelque chose, disonskhome=\E[1~
etkend=\E[4~
qui ne fonctionne pas dans ce cas. supprimez-le et remplacez-le par la séquence que vous avez trouvée à l'étape 1, donc pour moi, après l'avoir modifiée, c'était:khome=\E[H
etkend=\E[F
.Si vous voulez jouer en toute sécurité, assurez-vous
[F
que[H
(ou la séquence que vous venez d'utiliser) n'est pas affectée à autre chose ou les choses seront gâchées!exécuter
tic terminfo.src
qui crée le~/.terminfo
répertoire.En plus de
.zshrc
toutes les autres commandes, mettez:export TERMINFO=~/.terminfo
Ouvrez une nouvelle fenêtre de terminal et tout devrait bien se passer, la maison et la fin doivent fonctionner maintenant.
PS: La méthode bindkey devrait théoriquement fonctionner et est plus facile, mais ce n'est pas le cas pour moi.
la source
Les séquences d'échappement envoyées par les touches de fonction et de curseur se composent d'un caractère d'échappement suivi de caractères imprimables. Appuyez sur Ctrl+ Vpuis Home. Cela insérera la séquence d'échappement littéralement. Ajoutez ensuite une
bindkey
instruction à votre~/.zshrc
.L'instruction est susceptible d'être (notez
O
pas0
):la source
ctrl + a
etctrl +e
et viJ'ai trouvé que je devais frapper
CTRL-v
, relâcher, puis la toucheHome
ouEnd
pour obtenir les séquences^[[H
et^[[F
pourHome
etEnd
respectivement. L'ajout des lignes suivantes au.zshrc
fichier a résolu le problème pour moi:la source
Ajoutez ces lignes à
/etc/zshrc
puis faites unsource /etc/zshrc
(tiré d' ici )la source
Cette réponse a expliqué mon problème vraiment bien et l'a résolu.
/programming//a/686458/5472892
TL; DR: changez votre type de terminal PuTTY par défaut
xterm
enlinux
.Peut-être que quelqu'un peut aussi l'utiliser.
la source