我使用
然而,zsh总是在每次完成后添加一个空格。如果我想要自动完成多级目录,我就必须每次去掉一个空格。是否有一种方法可以像bash complete命令中的
compctl -K _my_cpl ls
将我的自动完成功能与ls
命令连接起来。该函数从索引文件返回一个名称列表。然而,zsh总是在每次完成后添加一个空格。如果我想要自动完成多级目录,我就必须每次去掉一个空格。是否有一种方法可以像bash complete命令中的
-o nospace
选项一样删除额外的空格?
我测试了zstyle ':completion:*' add-space false
命令,但它没有起作用。谢谢。_my_cpl() {
local cur last opts
# current word in command line.
read -cA cur
last=$cur[-1]
# grep all directories and file names under current directory level.
opts=`egrep "${last}[^/]*[$|/]*" ~/index -o |uniq`
reply=($=opts)
}
compctl -K _my_cpl ls