## 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
# 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
#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
# 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
# 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'