X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=zsh%2Frc;h=ca125967f14840a584ef057b9de0ad8c87d8a0d5;hb=4aef84aaeeba30f2244474da9bf235f4ff46e86f;hp=a1acba570b2a2686aa85a9538af9d9600478e82c;hpb=b5a2aca208003314ecf366460546f5df2779d930;p=config%2Fdotfiles.git diff --git a/zsh/rc b/zsh/rc index a1acba5..ca12596 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 @@ -713,7 +723,7 @@ source_config ~/.zsh/rc.local if [[ $TERM != dumb && $TERM != linux && -z $STY && -z $TMUX ]]; then # Get running detached sessions. if [[ -z $use_tmux ]]; then - session=$(screen -list | grep 'Detached' | awk '{ print $1; exit }') + session=$(screen -list | grep 'Detached' | awk '{ print $1; exit }') else session=$(tmux list-sessions 2>/dev/null \ | sed '/(attached)$/ d; s/^\([0-9]\{1,\}\).*$/\1/; q') @@ -721,7 +731,7 @@ if [[ $TERM != dumb && $TERM != linux && -z $STY && -z $TMUX ]]; then # As we exec later we have to set the title here. if [[ -z $use_tmux ]]; then - window_preexec "screen" + window_preexec "screen" else window_preexec "tmux" fi @@ -729,14 +739,14 @@ if [[ $TERM != dumb && $TERM != linux && -z $STY && -z $TMUX ]]; then # Create a new session if none is running. if [[ -z $session ]]; then if [[ -z $use_tmux ]]; then - exec screen + exec screen else exec tmux fi # Reattach to a running session. else if [[ -z $use_tmux ]]; then - exec screen -r $session + exec screen -r $session else exec tmux attach-session -t $session fi