X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=.zshrc;h=6c840816fdf5670be62cc9446f2fbea2ce80af79;hb=f6843c1ae4f1d16cf2e68a318f82f2be3b32aff0;hp=f6d1c55c83a7284b4bda404421451dfeea046607;hpb=f3a7f35d857a19767d765f6d9b0656f12df47c62;p=user%2Fhenk%2Fvcsh%2Fzsh.git diff --git a/.zshrc b/.zshrc index f6d1c55..6c84081 100644 --- a/.zshrc +++ b/.zshrc @@ -15,7 +15,9 @@ 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 @@ -26,15 +28,15 @@ fpath=(~/.zsh_functions $fpath) # hashed directories are usually independent and standalone # so they can stay at the top -hash -d diary=~/Data/henksfiles/workinprogress/Dokumente/diary -hash -d lifedocs=~/Data/henksfiles/workinprogress/Dokumente/Leben +hash -d diary=~/Data/personal/henk/workinprogress/Dokumente/diary +hash -d lifedocs=~/Data/personal/henk/workinprogress/Dokumente/Leben hash -d bewerbung=~/Data/personal/henk/workinprogress/Dokumente/Arbeit/bewerbung -hash -d rezepte=~/Data/henksfiles/workinprogress/Dokumente/rezepte/cuisine -hash -d templates=~/Data/henksfiles/workinprogress/templates +hash -d rezepte=~/Data/personal/henk/workinprogress/Dokumente/rezepte/cuisine +hash -d templates=~/Data/personal/henk/workinprogress/templates hash -d gitignore=~/Data/public/software/gitignore hash -d doc=/usr/share/doc -hash -d TODO=~/Data/henksfiles/TODO/ -hash -d fortunes=~/Data/henksfiles/workinprogress/Dokumente/fortunes/ +hash -d TODO=~/Data/personal/henk/TODO/ +hash -d fortunes=~/Data/personal/henk/workinprogress/Dokumente/fortunes/ # aliases are usually independent and standalone @@ -60,7 +62,11 @@ setopt CHASE_LINKS setopt AUTO_NAME_DIRS -setopt BRACE_CCL +# this should not be needed ever +# unclear why it is even implemented +# all relevant functionality should be possible without this anyway +# see #zsh@libera on 2024-04-14 +# setopt BRACE_CCL setopt EXTENDED_GLOB setopt MARK_DIRS setopt NUMERIC_GLOB_SORT @@ -68,9 +74,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 @@ -81,6 +87,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 @@ -176,7 +183,23 @@ 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? zgenom load 'https://github.com/nojhan/liquidprompt'