Existe-t-il une command pour passer en mode vicmd dans zsh?

J'ai mappé altk et altj pour l 'historique de navigation, mais je voudrais changer vicmd automatiquement chaque fois que j'appelle une input d' historique, parce que la plupart du time je dois déplacer le slider à une certaine position et faire quelques changements.

Voici mes parameters actuels dans .zshrc, que dois-je faire pour atteindre l'objective mentionné ci-dessus?

bindkey '^[k' up-line-or-history bindkey '^[j' down-line-or-history 

Ce que vous voulez peut être accompli en appuyant simplement sur Esc après ou Alt + j ou Alt + k, mais si vous voulez save cette frappe, append ce qui suit à votre .zshrc peut vous aider.

 vi-cmd-up-line-history() { zle vi-cmd-mode zle up-line-or-history } zle -N vi-cmd-up-line-history bindkey -M vicmd '^[k' vi-cmd-up-line-history bindkey -M viins '^[k' vi-cmd-up-line-history vi-cmd-down-line-history() { zle vi-cmd-mode zle down-line-or-history } zle -N vi-cmd-down-line-history bindkey -M vicmd '^[j' vi-cmd-down-line-history bindkey -M viins '^[j' vi-cmd-down-line-history 

Ce qu'il fait est de lier de nouveaux widgets appelés vi-cmd-down-line-history et vi-cmd-up-line-history à Alt + j et Alt + k . Ces widgets modifient le mode en cmd en appelant le widget vi-cmd-mode , puis en lançant respectivement la down-line-or-history et up-line-or-history .