]> git.netwichtig.de Git - user/henk/vcsh/zsh.git/blobdiff - .zshrc
feat: move aliases to functions, because they are often less troublesome
[user/henk/vcsh/zsh.git] / .zshrc
diff --git a/.zshrc b/.zshrc
index 320fc5747dbd805af0ce274362157509ba983467..336ef765ec4702be2ba44d2a54b8269958cc6fc9 100644 (file)
--- 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
@@ -42,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.
@@ -50,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"
 
@@ -71,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
@@ -84,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
@@ -109,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
@@ -155,11 +154,9 @@ 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'
 
 
@@ -182,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'