Я використовую oh-my-zsh на Mac OS X з homebrew'ed zsh 4.3.12. Нещодавно я натрапив на дивну проблему. У scripts/not-usedмене є кілька .Rфайлів:
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
Однак, коли я намагаюся ls scripts/not-used/+, Tabперше завершення - це місце, ls scripts/not-used/_.Rде _представлено курсор. Якщо я натискаю Tabще раз, я отримую це дивне завершення:
$ ls scripts/not-used/.R
breakdowns.R eventloop.R
Як скинути цю потворну (неправильну) поведінку?
Налаштовані варіанти:
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.Rце неправильне завершення, в сенсі незавершеності. Якщо уважно придивитись до списку файлів, то існує лише 2, які закінчуються .R.
breakdowns.R eventloop.Rнеправильне завершення? Спробуйте скасуватиcompleteinwordпараметр, оскільки це дозволяє виконати завершення з обох кінців курсору, зліва і справа. Це означає, що якщо я введітьpacяк inpacman, і є команда під назвоюarpac, тоarpacбуде у списку завершень, оскільки завершення відбувається по обидва боки курсору, а не лише праворуч.