我找不到任何关于 的“足够详细”的文档zstyle
,而且我很惊讶以前没有人遇到过这个问题:
这是我通过制表符补全得到的结果:
source l<TAB>
l2ping* lefty* libwmf-fontmap* locate* lpq.cups
这当然/显然是我的$PATH
.但是,我想source
使用当地的文件,但我不明白如何更改它。
基本上,该命令file
已按我的预期完成,因此我想告诉zstyle
您使用相同的规则。
我猜测我可以适应:completion:*:killall:* 'ps -u $USER -o cmd h'
,完成这项工作,但这会很丑陋,我正在寻找一个 zstyle 内置选项。
我想法我可以适应类似的东西':completion:*:cd:*' ignore-parents parent pwd
,source
但完成结果永远不会改变......
信息:
$ zsh --version
zsh 4.3.17 (x86_64-redhat-linux-gnu)
$ zstyle
cache-path
:completion::complete:* /home/kevin/.oh-my-zsh/cache/
command
:completion:*:*:*:*:processes 'ps -u kevin -o pid,user,comm -w -w'
:completion:*:killall:* 'ps -u $USER -o cmd h'
hosts
:completion:*:hosts 192.168.0.101 git.bri.st.com crx672 bastion.inrialpes.fr 192.168.0.5 idrouille 129.88.69.73 idrouille.imag.fr koguis 192.168.1.4 127.0.0.1 koguis.imag.fr localhost crx672.cro.st.com 192.168.1.100 github.com 192.168.1.101 sourceware.org gnx2034.gnb.st.com gnx2528.gnb.st.com ctf.stri.pe 10.0.0.2 127.0.0.1 kevin localhost.localdomain localhost ::1 kevin localhost6.localdomain6 localhost6 kevin localhost
ignored-patterns
:completion:*:*:*:users adm amanda apache avahi beaglidx bin cacti canna clamav daemon dbus distcache dovecot fax ftp games gdm gkrellmd gopher hacluster haldaemon halt hsqldb ident junkbust ldap lp mail mailman mailnull mldonkey mysql nagios named netdump news nfsnobody nobody nscd ntp nut nx openvpn operator pcap postfix postgres privoxy pulse pvm quagga radvd rpc rpcuser rpm shutdown squid sshd sync uucp vcsa xfs
:completion:*:functions '_*'
list-colors
:completion:*:*:kill:*:processes '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01'
:completion:* ''
menu
:completion:*:*:*:*:* select
single-ignored
* show
tag-order
:completion:*:cd:* local-directories directory-stack path-directories
url-globbers
(eval) :url-quote-magic 'zmodload -i zsh/parameter;
reply=( noglob
${(k)galiases[(R)(* |)(noglob|urlglobber|globurl) *]:-}
${(k)aliases[(R)(* |)(noglob|urlglobber|globurl) *]:-} )'
url-local-schema
:urlglobber ftp file
url-metas
:url-quote-magic:* '*?[]^(|)~#{}='
url-other-schema
:urlglobber http https ftp
url-seps
(eval) :url-quote-magic:* 'reply=(";&<>${histchars[1]}")'
use-cache
:completion::complete:* 1
user-commands
:completion:*:*:git:* 'flow:description for foo'
答案1
从 zsh 4.3.10 开始,source
已完成,_source
不查找任何 zstyle。或许可以设置 所使用的样式_files
,但即使按照 zsh 标准,这也是很 hackish 的。
我建议你_source
根据自己的喜好重写该函数,它不太长。例如:
_my_source () {
if [[ CURRENT -ge 3 ]]; then
compset -n 2
_normal
elif [[ $service = . ]]; then
_files -W path
else
_files
fi
}
compdef _my_source source