Używam oh-my-zsh na Mac OS X z homebrew'ed zsh 4.3.12. Ostatnio natknąłem się na dziwny problem. W scripts/not-usedMam kilka .Rplików:
breakdowns.R eventloop.R process-largeclients.R process-qt.R
reprocess-pinning.R calculate-qt-error.R generate_decision_tree.R process-net.R
process-scalingexp.R
Jednak gdy próbuję ls scripts/not-used/+, Tabpierwsze zakończenie jest ls scripts/not-used/_.Rtam, gdzie _reprezentuje pozycję kursora. Jeśli Tabponownie nacisnę, otrzymam to dziwne zakończenie:
$ ls scripts/not-used/.R
breakdowns.R eventloop.R
Jak usunąć to brzydkie (złe) zachowanie?
Ustawione opcje to:
alwaystoend autocd autonamedirs autopushd cdablevars completeinword
correctall extendedglob extendedhistory noflowcontrol
histexpiredupsfirst histignoredups histignorespace histreduceblanks histverify
incappendhistory
interactive login longlistjobs monitor promptsubst
pushdignoredups pushdminus pushdsilent pushdtohome
sharehistory shinstdin zle
breakdowns.R eventloop.Rjest to niepoprawne uzupełnienie w sensie niekompletności. Jeśli przyjrzysz się uważnie liście plików, jest ich więcej niż tylko 2, na końcu .R.
breakdowns.R eventloop.Rnieprawidłowe uzupełnienie? Spróbuj odznaczyćcompleteinwordopcję, ponieważ pozwala to na zakończenie z obu końców kursora, z lewej i prawej strony. Oznacza to, że jeśli wpiszeszpacjako inpacman, a zostanie wywołane poleceniearpac,arpacpojawi się na liście uzupełnień, ponieważ uzupełnianie następuje po obu stronach kursora zamiast tylko po prawej stronie.