summaryrefslogtreecommitdiff
path: root/.zshrc
diff options
context:
space:
mode:
authorHendrik Jäger <hendrik.jaeger@dswiss.com>2021-11-16 15:48:18 +0100
committerHendrik Jäger <hendrik.jaeger@dswiss.com>2021-11-16 15:48:18 +0100
commitec5488d4bf56e76091e28504647f6ab03970889b (patch)
treeef6d16929a7619b7a134817d6c61c99a2f29566a /.zshrc
parent6c3773af6f692667ce6db9e34794337f7cf2cf8b (diff)
Complete refactor, particularly order of statements
Diffstat (limited to '.zshrc')
-rw-r--r--.zshrc120
1 files changed, 74 insertions, 46 deletions
diff --git a/.zshrc b/.zshrc
index 4793503..8258f1a 100644
--- a/.zshrc
+++ b/.zshrc
@@ -1,52 +1,31 @@
+# zprof only makes sense at the very top
# zmodload zsh/zprof
-source ~/.zsh_zinit
-
-# source /usr/share/autojump/autojump.sh
-
-fpath=(~/.zsh_functions $fpath)
-
-autoload henkspngpostproc
-autoload henkspwgen
-autoload new_hs_project
-autoload vifind
-autoload movies_biggest
-autoload movies_forgotten
-autoload movies_newest
-autoload movies_oldest
-autoload movies_smallest
-autoload mpvshuffledir
-autoload pause_stardew
-
-autoload -Uz vcs_info
-autoload -Uz edit-command-line
-autoload -Uz zcalc
-autoload -Uz zargs
-
-# source ~/.zsh_taskwarrior
-
-# source ~/.zsh_functions
-# source ~/.zsh_functions_media
-# source ~/.zsh_functions_taskwarrior
-
-source ~/.zsh_aliases
-source ~/.zsh_local
-source ~/.zsh_qemu
-
-source ~/.env_*
-#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
+# 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
+
+# I want sbin executables available
+export PATH=${PATH}:/usr/local/sbin:/sbin:/usr/sbin
+
+# 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
@@ -57,10 +36,15 @@ hash -d doc=/usr/share/doc
hash -d TODO=~/Data/henksfiles/TODO/
hash -d fortunes=~/Data/henksfiles/workinprogress/Dokumente/fortunes/
-## 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
+# 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
@@ -97,18 +81,62 @@ setopt AUTO_CONTINUE
setopt NO_BG_NICE
#setopt LONG_LIST_JOBS
-export YSU_MODE=ALL
-export tzvt_set_tmux_window_status=true
-export PATH=${PATH}:/usr/local/sbin:/sbin:/usr/sbin
+# 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
+fpath=(~/.zsh_functions $fpath)
+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
-#task awaiting
+# source ~/.zsh_taskwarrior
+# source ~/.zsh_functions
+# source ~/.zsh_functions_media
+# source ~/.zsh_functions_taskwarrior
-source ~/.zsh_comprc
+# TODO break this up
+source ~/.zsh_local
+
+# TODO break this up
+source ~/.env_*
+
+
+#zle -N zle-line-init
+#zle -N zle-keymap-select
+
+
+# keybindings might have been changed by plugins, etc.
+# so they go more to the bottom
+
+
+# commands to run after initialization is complete
+#task awaiting
cat ~/.motd
# zprof