/ / zsh im vi-Modus, aber mit den Pfeiltasten zum Durchsuchen des Verlaufs - zsh

zsh im vi-Modus, aber mit den Pfeiltasten zum Durchsuchen des Verlaufs - zsh

Wenn der vi-Modus f√ľr zsh aktiviert ist (bindkey -v) Ist es trotzdem m√∂glich, den Verlauf gem√§√ü dem regul√§ren Modus zu durchsuchen, d. h. durch Eingeben einiger Buchstaben und Dr√ľcken der Aufw√§rts- / Abw√§rtspfeiltasten?

Ich finde das also viel schneller als Flucht ?Geben Sie ein paar Buchstaben ein, dr√ľcken Sie die Eingabetaste und dann n um √ľber die Streichh√∂lzer zu scrollen.

Es scheint auch, dass die Suche im vi-Modus an einer beliebigen Stelle im Befehl √ľbereinstimmt. Ich m√∂chte nur am Anfang des Befehls √ľbereinstimmen, wie dies bei der normalen Suche mit den Pfeiltasten der Fall ist.

Antworten:

1 f√ľr Antwort ‚ĄĖ 1

Beachten Sie, dass Sie sich hier mit verschiedenen Suchmethoden befassen:

Suche "the vi way" mit / oder ? Durchsucht ganze Befehle, die im Verlauf gespeichert sind.

Was Sie mit den Pfeiltasten nach oben und unten tun m√∂chten, istetwas anderes: Sie m√∂chten, dass sie durch die im Verlauf gespeicherten Elemente iterieren, die (zu Beginn) mit dem √ľbereinstimmen, was Sie bereits in der Befehlszeile eingegeben haben.

Ohne zu sehr ins Detail zu gehen, sollte Folgendes ein ziemlich narrensicherer Weg sein, um dies zu erreichen:

autoload -Uz history-search-end

zle -N history-beginning-search-backward-end history-search-end
zle -N history-beginning-search-forward-end history-search-end

bindkey -M vicmd "^[[A" history-beginning-search-backward-end 
"^[OA" history-beginning-search-backward-end 
"^[[B" history-beginning-search-forward-end 
"^[OB" history-beginning-search-forward-end
bindkey -M viins "^[[A" history-beginning-search-backward-end 
"^[OA" history-beginning-search-backward-end 
"^[[B" history-beginning-search-forward-end 
"^[OB" history-beginning-search-forward-end