Przewidywanie linii poleceń

Odpowiedzi:

8

Zsh jest wyposażony w insert-and-predictwidżet edycji ¹, który sprawia, że ​​sugeruje on wykonanie spontanicznie na podstawie historii poleceń.

¹ lub na komputerze. info -f zsh --index-search=predict-onLESS=$LESS+/predict-on man zshcontrib

Aby wypróbować:

autoload predict-on
predict-toggle() {
  ((predict_on=1-predict_on)) && predict-on || predict-off
}
zle -N predict-toggle
bindkey '^Z'   predict-toggle
zstyle ':predict' toggle true
zstyle ':predict' verbose true

I użyj, Ctrl-Zaby włączyć lub wyłączyć.

Stéphane Chazelas
źródło
Wygląda na to, że wykorzystuje to tylko historię do zaoferowania tego, co wpisałeś ostatnim razem, który miał ten sam początek. Prawie jak ^Rw bashu.
peterph
@ Peter, To właśnie dokumentacja może ci pomóc w szybkim przeczytaniu, ale wykracza poza to i jest bardzo konfigurowalna. Jednak uważam, że jest to zbyt denerwujące / nachalne, aby nadawać się do użytku (ale może dlatego, że nie spędziłem (wystarczająco) czasu na próbach dostrojenia)
Stéphane Chazelas
Cóż, myślę, że jest to funkcja, która przydaje się tylko na kilka powtórzeń. Na cokolwiek więcej, albo aliasskrypt jest lepszy. Chyba że tak naprawdę dokonałby on jakiejś analizy poleceń, aby ustalić np. Jakie argumenty w kolejnych poleceniach odpowiadają sobie nawzajem (o czym tak naprawdę wspomina również artykuł).
peterph
Czy mogę to wyłączyć za pomocą prostego polecenia? Nie chcę wiązać niczego z kluczem Chcę po prostu wyłączyć tę funkcję