X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=.zshrc;h=336ef765ec4702be2ba44d2a54b8269958cc6fc9;hb=bc961c97505ae4e181d7499b6db212f563f8b036;hp=2bc79dd007e82fae3dc09a46a935362a7684a4e0;hpb=9a3d8f8b4ed8438805f72d496579d50d52be5dcc;p=user%2Fhenk%2Fvcsh%2Fzsh.git diff --git a/.zshrc b/.zshrc index 2bc79dd..336ef76 100644 --- a/.zshrc +++ b/.zshrc @@ -15,10 +15,14 @@ REPORTTIME=10 ## define word characters (for stuff like backward-word, forward-word, backward-kill-word,..) ## these are NOT separators but chars considered part of a word -#WORDCHARS='*?_-.[]~=/&;!#$%^(){}<>' # the default +## these are NOT respected by e.g. vi-backward-kill-word, it seems +# WORDCHARS='*?_-.[]~=/&;!#$%^(){}<>' # the default +## see below how to solve this with select-word-style module # where zsh looks for functions + +# add my own functions fpath=(~/.zsh_functions $fpath) @@ -40,7 +44,6 @@ source ~/.zsh_aliases # load plugin manager after all 'static' stuff is done -# source ~/Data/public/software/zinit/zinit.zsh source "${HOME}/.zgenom/zgenom.zsh" # Check for plugin and zgenom updates every 7 days # This does not increase the startup time. @@ -48,8 +51,6 @@ zgenom autoupdate # mostly static stuff, env vars -# zinit load 'https://github.com/joel-porquet/zsh-dircolors-solarized' -# zinit load "https://github.com/greymd/tmux-xpanes" zgenom load 'https://github.com/joel-porquet/zsh-dircolors-solarized' zgenom load "https://github.com/greymd/tmux-xpanes" @@ -69,9 +70,9 @@ setopt RC_EXPAND_PARAM #setopt WARN_CREATE_GLOBAL setopt GLOB_DOTS -# remove previous entries from history -setopt HIST_IGNORE_ALL_DUPS -# do not write lines starting with a space to history file +# Ignore a duplicate of the previous command +setopt HIST_IGNORE_DUPS +# Do not save commands starting with a space to history setopt HIST_IGNORE_SPACE # Remove superfluous blanks setopt HIST_REDUCE_BLANKS @@ -82,6 +83,7 @@ setopt EXTENDED_HISTORY # write line to history file when finished, not when started, to have correct runtime setopt INC_APPEND_HISTORY_TIME +# Error on a redirections which would overwrite an existing file setopt NO_CLOBBER setopt CORRECT setopt CORRECT_ALL @@ -107,7 +109,6 @@ setopt NO_SH_WORD_SPLIT # load before completion system initialization -# zinit load 'https://github.com/zsh-users/zsh-completions' zgenom load 'https://github.com/zsh-users/zsh-completions' # initialize completion system before loading plugins and external configs @@ -127,23 +128,35 @@ autoload ~/.zsh_functions/[^_]*(-.:t) autoload -Uz vcs_info -autoload -Uz zcalc -autoload -Uz zargs +zstyle ':vcs_info:*' enable git + +# similar to xargs +autoload -U zargs + +# similar to rename or mmv +autoload -U zmv +autoload -U zln +autoload -U zcp +# zle customization + # spawn editor on current command line autoload -Uz edit-command-line zle -N edit-command-line bindkey -M vicmd '^X^E' edit-command-line bindkey -M viins '^X^E' edit-command-line +# show globbing results live +autoload insert-files +zle -N insert-files +bindkey '^Xf' insert-files + #this mainly sets vars, binds keys, does zle stuff -# zinit load 'https://github.com/laurenkt/zsh-vimto' -zgenom load 'https://github.com/laurenkt/zsh-vimto' +# zgenom load 'https://github.com/laurenkt/zsh-vimto' # functions and an autoload, should be fine here -# zinit load 'https://github.com/MichaelAquilina/zsh-you-should-use' zgenom load 'https://github.com/MichaelAquilina/zsh-you-should-use' @@ -153,11 +166,7 @@ zgenom load 'https://github.com/MichaelAquilina/zsh-you-should-use' # source ~/.zsh_functions_taskwarrior -# TODO break this up -source ~/.zsh_local - -# TODO break this up -for f in ~/.env_*(N) +for f in ~/.zsh_local*(N) do source $f done @@ -170,9 +179,24 @@ done # keybindings might have been changed by plugins, etc. # so they go more to the bottom +# the vi bindings for these do not respect WORDCHARS and are not replaced by the select-word-style functions +bindkey -M vicmd 'w' forward-word +bindkey -M vicmd 'b' backward-word +bindkey -M viins '^W' backward-kill-word + +# default vi history search is strange +bindkey -M viins '^R' history-incremental-search-backward + + +# better word matching +autoload -U select-word-style +select-word-style normal +# these characters do _not_ separate words but are part of words +zstyle ':zle:*' word-chars '*?[]~;!#$%^(){}<>' + +LP_ENABLE_TIME=1 # should probably be closer to the bottom than the top? -# zinit load 'https://github.com/nojhan/liquidprompt' zgenom load 'https://github.com/nojhan/liquidprompt'