mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2025-02-25 00:23:11 +08:00

After a few weeks of using this, I'd prefer this to not be enabled by default. My bad for suggesting that in the first place. This reverts commit fc49b4a4ded376cd82b813dcb6d72fdc050b7bed.
71 lines
2.5 KiB
Bash
71 lines
2.5 KiB
Bash
# fixme - the load process here seems a bit bizarre
|
|
|
|
unsetopt menu_complete # do not autoselect the first completion entry
|
|
unsetopt flowcontrol
|
|
setopt auto_menu # show completion menu on succesive tab press
|
|
setopt complete_in_word
|
|
setopt always_to_end
|
|
|
|
WORDCHARS=''
|
|
|
|
zmodload -i zsh/complist
|
|
|
|
## case-insensitive (all),partial-word and then substring completion
|
|
if [ "x$CASE_SENSITIVE" = "xtrue" ]; then
|
|
zstyle ':completion:*' matcher-list 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
|
|
unset CASE_SENSITIVE
|
|
else
|
|
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
|
|
fi
|
|
|
|
zstyle ':completion:*' list-colors ''
|
|
|
|
# should this be in keybindings?
|
|
bindkey -M menuselect '^o' accept-and-infer-next-history
|
|
|
|
zstyle ':completion:*:*:*:*:*' menu select
|
|
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01'
|
|
zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm -w -w"
|
|
|
|
# disable named-directories autocompletion
|
|
zstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-directories
|
|
cdpath=(.)
|
|
|
|
# use /etc/hosts and known_hosts for hostname completion
|
|
[ -r ~/.ssh/known_hosts ] && _ssh_hosts=(${${${${(f)"$(<$HOME/.ssh/known_hosts)"}:#[\|]*}%%\ *}%%,*}) || _ssh_hosts=()
|
|
[ -r /etc/hosts ] && : ${(A)_etc_hosts:=${(s: :)${(ps:\t:)${${(f)~~"$(</etc/hosts)"}%%\#*}##[:blank:]#[^[:blank:]]#}}} || _etc_hosts=()
|
|
hosts=(
|
|
"$_ssh_hosts[@]"
|
|
"$_etc_hosts[@]"
|
|
`hostname`
|
|
localhost
|
|
)
|
|
zstyle ':completion:*:hosts' hosts $hosts
|
|
|
|
# Use caching so that commands like apt and dpkg complete are useable
|
|
zstyle ':completion::complete:*' use-cache 1
|
|
zstyle ':completion::complete:*' cache-path ~/.oh-my-zsh/cache/
|
|
|
|
# Don't complete uninteresting users
|
|
zstyle ':completion:*:*:*:users' ignored-patterns \
|
|
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
|
|
|
|
# ... unless we really want to.
|
|
zstyle '*' single-ignored show
|
|
|
|
if [ "x$COMPLETION_WAITING_DOTS" = "xtrue" ]; then
|
|
expand-or-complete-with-dots() {
|
|
echo -n "\e[31m......\e[0m"
|
|
zle expand-or-complete
|
|
zle redisplay
|
|
}
|
|
zle -N expand-or-complete-with-dots
|
|
bindkey "^I" expand-or-complete-with-dots
|
|
fi
|