mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-12-27 23:01:57 +00:00
9465ba0de4
Use /etc/hosts in addtion to $HOME/.ssh/known_hosts as the source for hostname completion Turn on completion caching to speed up certain comands When completing usernames, don't include system accounts by default
64 lines
2.3 KiB
Bash
64 lines
2.3 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=''
|
|
|
|
autoload -U compinit
|
|
compinit -i
|
|
|
|
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
|
|
|