이에 대해 "충분히 자세한" 문서를 찾을 수 없으며 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부터 이는 zstyle을 찾지 않고 source
수행됩니다 . _source
사용된 스타일을 설정하는 것이 가능할 수도 있지만 _files
이는 zsh 표준에서도 해킹입니다.
_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