64 lines
3.5 KiB
Bash
64 lines
3.5 KiB
Bash
zmodload -i zsh/complist
|
|
|
|
WORDCHARS=''
|
|
|
|
unsetopt menu_complete
|
|
unsetopt flowcontrol
|
|
setopt auto_menu
|
|
setopt complete_in_word
|
|
setopt always_to_end
|
|
|
|
bindkey -M menuselect '^o' accept-and-infer-next-history
|
|
zstyle ':completion:*:*:*:*:*' menu select
|
|
|
|
if [[ "$CASE_SENSITIVE" = true ]]; then
|
|
zstyle ':completion:*' matcher-list 'r:|=*' 'l:|=* r:|=*'
|
|
else
|
|
if [[ "$HYPHEN_INSENSITIVE" = true ]]; then
|
|
zstyle ':completion:*' matcher-list 'm:{a-zA-Z-_}={A-Za-z_-}' 'r:|=*' 'l:|=* r:|=*'
|
|
else
|
|
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|=*' 'l:|=* r:|=*'
|
|
fi
|
|
fi
|
|
unset CASE_SENSITIVE HYPHEN_INSENSITIVE
|
|
|
|
zstyle ':completion:*' special-dirs true
|
|
|
|
zstyle ':completion:*' list-colors ''
|
|
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01'
|
|
|
|
if [[ "$OSTYPE" = solaris* ]]; then
|
|
zstyle ':completion:*:*:*:*:processes' command "ps -u $USER -o pid,user,comm"
|
|
else
|
|
zstyle ':completion:*:*:*:*:processes' command "ps -u $USER -o pid,user,comm -w -w"
|
|
fi
|
|
|
|
zstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-directories
|
|
|
|
zstyle ':completion::complete:*' use-cache 1
|
|
zstyle ':completion::complete:*' cache-path "$HOME/.cache/zsh/compcache/"
|
|
|
|
zstyle ':completion:*:*:*:users' ignored-patterns adm amanda apache at avahi avahi-autoipd backup beaglidx bin bitwarden_rs cacti canna clamav ceph colord consul daemon dbus distcache dnsdist dnsmasq dovecot eeleater elasticsearch fax flaskdemo ftp games gdm git gitea gkrellmd gluster gopher gophernicus gnats hacluster haldaemon halt hsqldb http ident irc junkbust kdm kibana ldap list logstash lp lxd mail mailman mailnull man mattermost messagebus mldonkey mongodb mxisd mysql nagios named netdata netdump news nfsnobody nobody nscd ntp nut nx obsrun openvpn operator pcap polkitd postfix postgres powerdns privoxy proxy pulse prosody puppet pvm quagga radvd redis rpc rpcuser rpm rtkit root scard shutdown squid sshd statd svn synapse sync sys systemd-coredump systemd-journal-remote systemd-network systemd-resolve systemd-timesync teamspeak tftp turnserver usbmux unbound uucp uuidd vault vcsa webvirtmgr wildfly wwwrun www-data xfs youtrack zabbix-agent zabbix-server zabbix zerotier-one zerotier '_*'
|
|
|
|
zstyle '*' single-ignored show
|
|
|
|
zstyle ':completion:*:(scp|rsync):*' tag-order 'hosts:-host:host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
|
|
zstyle ':completion:*:(scp|rsync):*' group-order users files all-files hosts-domain hosts-host hosts-ipaddr
|
|
zstyle ':completion:*:ssh:*' tag-order users 'hosts:-host:host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
|
|
zstyle ':completion:*:ssh:*' group-order hosts-domain hosts-host users hosts-ipaddr
|
|
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-host' ignored-patterns '*(.|:)*' loopback ip6-loopback localhost ip6-localhost broadcasthost megumi _gateway pxm
|
|
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-domain' ignored-patterns '<->.<->.<->.<->' '^[-[:alnum:]]##(.[-[:alnum:]]##)##' '*@*' '*.eeleater.org'
|
|
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-ipaddr' ignored-patterns '^(<->.<->.<->.<->|(|::)([[:xdigit:].]##:(#c,2))##(|%*))' '127.0.0.<->' '255.255.255.255' '::1' 'fe80::*'
|
|
|
|
if [[ $COMPLETION_WAITING_DOTS = true ]]; then
|
|
expand-or-complete-with-dots() {
|
|
[[ -n "$terminfo[rmam]" && -n "$terminfo[smam]" ]] && echoti rmam
|
|
print -Pn "%{%F{red}......%f%}"
|
|
[[ -n "$terminfo[rmam]" && -n "$terminfo[smam]" ]] && echoti smam
|
|
|
|
zle expand-or-complete
|
|
zle redisplay
|
|
}
|
|
zle -N expand-or-complete-with-dots
|
|
bindkey "^I" expand-or-complete-with-dots
|
|
fi
|