gpt4 book ai didi

autocomplete - 如何从 zsh 自动完成功能中删除额外的空间?

转载 作者:行者123 更新时间:2023-12-04 05:30:21 25 4
gpt4 key购买 nike

我用 compctl -K _my_cpl ls将我的自动完成功能挂接到 ls命令。该函数从索引文件中返回名称列表。

但是,zsh 总是在每次完成后添加一个空格。如果我想自动完成多级目录,我每次都必须删除一个空格。 有没有办法像 -o nospace 那样删除额外的空间? bash完整命令中的选项?

我测试了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

最佳答案

compctl -K _my_cpl -S '' ls

这回答了您提出的问题,但对于您想要做的事情可能不够灵活。特别是,这种方法不允许您为目录和常规文件指定不同的后缀。如果你想这样,我认为你需要切换到"new"完成系统并单独调用 compadd与不同 -S论据。

关于autocomplete - 如何从 zsh 自动完成功能中删除额外的空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8372866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com