我在Mac OS X上使用自制版本的zsh 4.3.12使用oh-my-zsh。我最近偶然发现了一个奇怪的问题。在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
我没有意识到这个问题……
—
Nikola Knezevic 2014年
breakdowns.R eventloop.R
从不完整的意义上说,这是不正确的完成。如果您仔细查看文件列表,则除了2之外,还有不止2个.R
。
我尝试将一堆与您列出的文件同名的文件以及zR,az,.R和z_test.R进行测试以进行测试-z_test.R不会尝试自动完成,但是z,.R会的。猜猜这是某种正则表达式的不幸
—
Dmitri DB
这可能与github.com/robbyrussell/oh-my-zsh/issues/1398有关,这是一个老问题,但最新版本具有相似的完成代码。我没有尝试解决方法来确认。
—
rjewell 2014年
breakdowns.R eventloop.R
完成不正确?尝试取消设置该completeinword
选项,因为这样可以从游标的左右两端进行补全。这意味着,如果我键入pac
作为pacman
,并有一个叫做命令arpac
,那么arpac
将是补全列表,因为完成光标的两侧,而不是只在右边发生。