如何解决zsh完成-自定义脚本结果的子字符串
假设我的z <- vector(mode="list",length = length(x))
for(i in 1:length(x)){
for(j in 1:length(y)){
z[[i]] <- x[[i]]
if(names(y)[j] %in% names(x[[i]])){
z[[i]][[names(y)[j]]] <- c(x[[i]][[names(y)[j]]],y[[j]])
}else{
}
names(z) <- names(x)
}
}
中有以下内容:
.zshrc
如果我输入hello() {
echo "Hello $1!"
}
hello_list() {
echo "${1}foo"
echo "${1}bar"
echo "foo${1}bar"
echo "foobar${1}"
}
_hello() {
compadd $(hello_list ${words[2]})
}
compdef _hello hello
,我会得到:
hello bob<TAB>
从对文档的阅读中,我认为这是因为我的许多bobbar bobfoo
配置文件之一中有zstyle ':completion:*' matcher-list ''
。
当我按下Tab键时,如何获得基于子字符串匹配项显示的列表? 我真的很难理解这些文档。
解决方法
尝试将_hello
更改为此:
_hello() {
compadd -M 'l:|=* r:|=*' $(hello_list ${words[2]})
}
我在以下第6.7.5节中偶然发现了一些注释:http://zsh.sourceforge.net/Guide/zshguide06.html导致了这一点。该链接表明您可以使用zstyle
设置启用子字符串匹配,但是我无法在我的系统上使用任何子字符串匹配。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。