From: Hendrik Jäger Date: Tue, 16 Nov 2021 14:48:18 +0000 (+0100) Subject: Complete refactor, particularly order of statements X-Git-Url: https://git.netwichtig.de/gitweb/?a=commitdiff_plain;ds=sidebyside;h=ec5488d4bf56e76091e28504647f6ab03970889b;p=user%2Fhenk%2Fvcsh%2Fzsh.git Complete refactor, particularly order of statements --- 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