6
我使用compctl -K _my_cpl ls
將我的自動完成功能掛接到ls
命令。該函數返回索引文件中的名稱列表。如何從zsh自動完成功能中刪除額外的空間?
但是,每次完成後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
zsh有一個bashcompinit模塊。我可以將我的bash完整函數移植到zsh中作爲解決方法。 autoload bashcompinit bashcompinit – leo