X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=zsh%2Frc;h=14388f03d116fd6d9adf5385d1112a5e5c851e44;hb=bbdb51e594058901a0f4a17fe2c936bba64ad4dc;hp=779d0dde656e7706bdc68c8d7ef6bda1164ac9ba;hpb=b55cf4872f4553ae4a3a28f34123e4b5c786392e;p=config%2Fdotfiles.git diff --git a/zsh/rc b/zsh/rc index 779d0dd..14388f0 100644 --- a/zsh/rc +++ b/zsh/rc @@ -509,10 +509,20 @@ setopt completeinword zstyle ':completion:::::' completer \ _expand _complete _prefix _ignored _approximate -# Try uppercase if the currently typed string doesn't match. This allows -# typing in lowercase most of the time and completion fixes the case. Don't -# perform these fixes in _approximate to prevent it from changing the input -# too much. Thanks to the book "From Bash to Z Shell" page 249. +# Match specification to be tried when completing items. Each group ('...') is +# tried after another if no matches were found, once matches are found no +# other groups are tried. Thanks to Mikachu in #zsh on Freenode (2012-08-28 +# 18:48 CEST) for explanations. +# +# When matching also include the uppercase variant of typed characters +# ('m:{a-z}={A-Z}'); using '' before this group would try the unmodified match +# first, but I prefer to get all matches immediately (e.g. if Makefile and +# makefile exist in the current directory echo m matches both, with '' it +# would only match makefile because it found one match). This allows typing in +# lowercase most of the time and completion fixes the case, which is faster. +# +# Don't perform these fixes in _approximate to prevent it from changing the +# input too much. Thanks to the book "From Bash to Z Shell" page 249. zstyle ':completion:*:(^approximate):*' matcher-list 'm:{a-z}={A-Z}' # Allow one mistake per three characters. Thanks to the book "From Bash to Z @@ -617,13 +627,13 @@ alias sudo='sudo ' # Global aliases for often used commands in the command line. alias -g E='2>&1' -alias -g L='E | less' -alias -g D='E | colordiff L' +alias -g L='2>&1 | less' +alias -g D='2>&1 | colordiff | less' alias -g G='| grep' -alias -g S='| sort' -alias -g U='| uniq' alias -g H='| head' +alias -g S='| sort' alias -g T='| tail' +alias -g U='| uniq' # Make going up directories simple. alias -g ...='../..' @@ -645,17 +655,17 @@ fi # Display all branches (except stash) in gitk but only 200 commits as this is # much faster. Also put in the background and disown. Thanks to drizzd in #git # on Freenode (2010-04-03 17:55 CEST). -gitk() { +(( $+commands[gitk] )) && gitk() { command gitk --max-count=200 --branches --remotes --tags "$@" & disown %command } # Same for tig (except the disown part as it's no GUI program). -tig() { +(( $+commands[tig] )) && tig() { command tig --max-count=200 --branches --remotes --tags "$@" } # Pipe output through less. -tree() { +(( $+commands[tree] )) && tree() { command tree -C "$@" | less }