]> git.netwichtig.de Git - user/henk/vcsh/zsh.git/blobdiff - .zshrc
fix: move to proper file
[user/henk/vcsh/zsh.git] / .zshrc
diff --git a/.zshrc b/.zshrc
index 8258f1abb5e1130d6b243806d88f81065fff8c8f..2f9d6682a0ab309554b021705ffe575de0fed657 100644 (file)
--- a/.zshrc
+++ b/.zshrc
@@ -2,33 +2,31 @@
 # zmodload zsh/zprof
 
 
-# exports are usually independent and standalone
-# so they can stay at the top
+# settings for the zsh don’t get exported
 
 # where to write history
-export HISTFILE=~/.zsh_history
-export HISTSIZE=1000000000
-export SAVEHIST=1000000000
+HISTFILE=~/.zsh_history
+HISTSIZE=1000000000
+SAVEHIST=1000000000
 
-# what is that for exactly? maybe taskwarrior? or timewarrior?
+# print time needed for execution when it takes longer than this value
 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
 
-# zsh you-should-use
-export YSU_MODE=ALL
 
-# I want sbin executables available
-export PATH=${PATH}:/usr/local/sbin:/sbin:/usr/sbin
+# where zsh looks for functions
+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 bewerbung=~/Data/henksfiles/workinprogress/Dokumente/bewerbung
+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 gitignore=~/Data/public/software/gitignore
@@ -43,6 +41,21 @@ source ~/.zsh_aliases
 source ~/.zsh_qemu
 
 
+# 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.
+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"
+
+
 # options are usually independent and standalone
 # so they can stay at the top
 setopt AUTO_CD
@@ -51,7 +64,7 @@ setopt CHASE_LINKS
 setopt AUTO_NAME_DIRS
 
 setopt BRACE_CCL
-#setopt EXTENDED_GLOB
+setopt EXTENDED_GLOB
 setopt MARK_DIRS
 setopt NUMERIC_GLOB_SORT
 setopt RC_EXPAND_PARAM
@@ -79,17 +92,30 @@ setopt PRINT_EXIT_VALUE
 
 setopt AUTO_CONTINUE
 setopt NO_BG_NICE
-#setopt LONG_LIST_JOBS
-
+# display PID when suspending processes as well
+setopt LONG_LIST_JOBS
+# Report the status of background jobs immediately, rather than waiting until just before printing a prompt.
+setopt NOTIFY
+# Whenever  a  command completion or spelling correction is attempted, make sure the entire command path is hashed first.  This makes the first completion slower but avoids false reports of spelling errors.
+setopt HASH_LIST_ALL
+# If unset, the cursor is set to the end of the word if completion is started. Otherwise it stays there and completion is done from both ends.
+setopt COMPLETE_IN_WORD
+# use zsh field splitting
+setopt NO_SH_WORD_SPLIT
+# unset parameters should cause an error
+# CONFLICTS WITH ZINIT
+# CONFLICTS WITH ZGENOM
+# setopt NO_UNSET
+
+
+# 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
 source ~/.zsh_comprc
 
 
-# TODO break this up
-source ~/.zsh_zinit
-
-
 # TODO reconsider this
 # source /usr/share/autojump/autojump.sh
 
@@ -99,7 +125,6 @@ source ~/.zsh_zinit
 # * follow symlinks
 # * work only on plainfiles
 # * take only the filename part without dir
-fpath=(~/.zsh_functions $fpath)
 autoload ~/.zsh_functions/[^_]*(-.:t)
 
 
@@ -115,6 +140,15 @@ bindkey -M vicmd '^X^E' edit-command-line
 bindkey -M viins '^X^E' edit-command-line
 
 
+#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'
+
+# 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'
+
+
 # source ~/.zsh_taskwarrior
 # source ~/.zsh_functions
 # source ~/.zsh_functions_media
@@ -125,7 +159,10 @@ bindkey -M viins '^X^E' edit-command-line
 source ~/.zsh_local
 
 # TODO break this up
-source ~/.env_*
+for f in ~/.env_*(N)
+do
+       source $f
+done
 
 
 #zle -N zle-line-init
@@ -136,6 +173,31 @@ source ~/.env_*
 # so they go more to the bottom
 
 
+# should probably be closer to the bottom than the top?
+# zinit load 'https://github.com/nojhan/liquidprompt'
+zgenom load 'https://github.com/nojhan/liquidprompt'
+
+
+# needs to be loaded close to the end because it hooks into other stuff
+# see https://github.com/zsh-users/zsh-syntax-highlighting
+source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
+
+source /usr/share/doc/fzf/examples/key-bindings.zsh
+source /usr/share/doc/fzf/examples/completion.zsh
+
+# Use fd (https://github.com/sharkdp/fd) instead of the default find
+# command for listing path candidates.
+# - The first argument to the function ($1) is the base path to start traversal
+# - See the source code (completion.{bash,zsh}) for the details.
+_fzf_compgen_path() {
+  fdfind --hidden --follow --exclude ".git" . "$1"
+}
+
+# Use fd to generate the list for directory completion
+_fzf_compgen_dir() {
+  fdfind --type d --hidden --follow --exclude ".git" . "$1"
+}
+
 # commands to run after initialization is complete
 #task awaiting
 cat ~/.motd