问题描述
假设我的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
设置启用子字符串匹配,但是我无法在我的系统上使用任何子字符串匹配。