comment faire ctrl + p se comporter exactement comme la flèche vers le haut dans zsh?

15

Tout d'abord, j'utilise zsh et oh-my-zsh avec presque aucune autre personnalisation.

Dans zsh, lorsque j'appuie sur la flèche haut, cela m'apporte les dernières commandes. Et si j'ai tapé quelques caractères avant d'appuyer sur la flèche vers le haut, cela m'apportera la dernière commande commençant par ces caractères. C'est une fonctionnalité assez utile car j'émets alternativement beaucoup de commandes git / vim / scp.

Mais maintenant, je passe à un clavier sans touches fléchées, et j'ai tendance à utiliser ctrl+ pau lieu de la flèche vers le haut pour compléter l'historique. Cependant, peu importe le nombre de caractères que j'ai tapés avant d'appuyer sur ctrl+ p, cela m'apportera toujours la dernière commande (pas la dernière commençant par ces caractères)

Comment dois-je configurer le zsh (ou oh-my-zsh) pour résoudre ce problème?

Gordon Gao
la source

Réponses:

18
bindkey "^P" up-line-or-search
Michael Wild
la source
Merci beaucoup! Je vais signaler un problème à oh-my-zsh pour l'ajouter dans son lib / keybinding.zsh par défaut.
Gordon Gao
4
Vous voudrez peut-être bindkey "^N" down-line-or-searchaussi ajouter pour plus de cohérence.
ejoubaud
6
bindkey -e

Cela utilise les raccourcis clavier emacs et semble fonctionner pour moi.

Nocturne
la source
Dans votre fichier shell rc, ~/.zshrc si vous le définissez, la export EDITOR=vimliaison de clés dans le shell passera également à vim. Dans ce cas, définissez manuellement la liaison des touches en mode emacs parbindkey -e
MutantMahesh