]> git.netwichtig.de Git - user/henk/vcsh/zsh.git/blobdiff - .zshrc
lot faster
[user/henk/vcsh/zsh.git] / .zshrc
diff --git a/.zshrc b/.zshrc
index ac34f10d33ab5721964c74330ba09b248707eb3e..f68456df03f6fb27db295dc51b3fb99c915ae836 100644 (file)
--- a/.zshrc
+++ b/.zshrc
-autoload -Uz vcs_info
-autoload -U edit-command-line
+# zprof only makes sense at the very top
+# zmodload zsh/zprof
 
-. ~/.zsh_comprc
-. ~/.zsh_functions
-. ~/.zsh_functions_media
-. ~/.zsh_functions_taskwarrior
-. ~/.zsh_aliases
-. ~/.zsh_local
 
-zle -N zle-line-init
-zle -N zle-keymap-select
-zle -N edit-command-line
+# exports are usually independent and standalone
+# so they can stay at the top
+
+# where to write history
+export HISTFILE=~/.zsh_history
+export HISTSIZE=1000000000
+export SAVEHIST=1000000000
 
-HISTFILE=~/.zsh_history
-HISTSIZE=5000
-SAVEHIST=3000
+export ANSIBLE_NOCOWS=1
+export ANSIBLE_STRATEGY=mitogen_linear
 
+# what is that for exactly? maybe taskwarrior? or timewarrior?
 REPORTTIME=10
 
-HENKSPROMPTHEADER=$'%F{red}%D{%a}%f %F{green}%D{%F %T Wk %V}%f %F{blue}%D{%s}%f %F{yellow}%n@%m%f\n'
+## 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
 
-PATH=~/bin:~/usr/bin:~/usr/local/bin:$PATH
+# I want sbin executables available
+export PATH=${PATH}:/usr/local/sbin:/sbin:/usr/sbin
+export PATH=${PATH}:~/bin
 
-hash -d diary=~/Data/henksfiles/TODO/henksfiles/documents/private/diary
+# colors for newt/whiptail (for debconf, needrestart, etc.)
+# works better with selenized colorscheme
+export NEWT_COLORS='checkbox=yellow,;roottext=yellow,'
+
+# 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 rezepte=~/Data/henksfiles/workinprogress/Dokumente/rezepte/cuisine
 hash -d templates=~/Data/henksfiles/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/
 
-## define word separators (for stuff like backward-word, forward-word, backward-kill-word,..)
-#WORDCHARS='*?_-.[]~=/&;!#$%^(){}<>' # the default
-#WORDCHARS=.
-WORDCHARS='*?_[]~=&;!#$%^(){}'
-#WORDCHARS='${WORDCHARS:s@/@}'
 
+# aliases are usually independent and standalone
+source ~/.zsh_aliases
+# TODO break this up or make functions or get rid?
+source ~/.zsh_qemu
+
+
+# options are usually independent and standalone
+# so they can stay at the top
 setopt AUTO_CD
 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
-setopt WARN_CREATE_GLOBAL
+#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
 setopt HIST_IGNORE_SPACE
-setopt HIST_NO_STORE
+# Remove superfluous blanks
 setopt HIST_REDUCE_BLANKS
+# expand history expansion for verification
 setopt HIST_VERIFY
-setopt INC_APPEND_HISTORY
+# save timestamp and runtime as well
+setopt EXTENDED_HISTORY
+# write line to history file when finished, not when started, to have correct runtime
+setopt INC_APPEND_HISTORY_TIME
 
 setopt NO_CLOBBER
 setopt CORRECT
 setopt CORRECT_ALL
-unsetopt NOMATCH
+#unsetopt NOMATCH
 setopt PRINT_EXIT_VALUE
 
 setopt AUTO_CONTINUE
 setopt NO_BG_NICE
-setopt LONG_LIST_JOBS
+#setopt LONG_LIST_JOBS
+
+
+# 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
+
+
+# autoload all functions defined by me
+# since only filenames are required we
+# * follow symlinks
+# * work only on plainfiles
+# * take only the filename part without dir
+autoload ~/.zsh_functions/[^_]*(-.:t)
+
+
+autoload -Uz vcs_info
+autoload -Uz zcalc
+autoload -Uz zargs
+
+
+# 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
+
+
+# source ~/.zsh_taskwarrior
+# source ~/.zsh_functions
+# source ~/.zsh_functions_media
+# source ~/.zsh_functions_taskwarrior
+
+
+# TODO break this up
+source ~/.zsh_local
+
+# TODO break this up
+source ~/.env_*
+
+
+typeset -U path
+
+#zle -N zle-line-init
+#zle -N zle-keymap-select
+
 
-bindkey -e
+# keybindings might have been changed by plugins, etc.
+# so they go more to the bottom
 
-task awaiting
 
+# commands to run after initialization is complete
+#task awaiting
 cat ~/.motd
+# zprof