X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=.zshrc;h=79570253bab3b0940f28728f67b108598f705b9c;hb=cfb1895ec218224a70ac77a15e9624772161f6c6;hp=badf71caed789434f098590be2afd4245d4863ce;hpb=f27ecacadb9ff29d9b8b552a9e4d0fa66e6b54a1;p=user%2Fhenk%2Fvcsh%2Fzsh.git diff --git a/.zshrc b/.zshrc index badf71c..7957025 100644 --- a/.zshrc +++ b/.zshrc @@ -1,38 +1,45 @@ -source /usr/share/zsh-antigen/antigen.zsh -antigen init ~/.zsh_antigen +# zprof only makes sense at the very top +# zmodload zsh/zprof -source /usr/share/autojump/autojump.sh -autoload -Uz vcs_info +# exports are usually independent and standalone +# so they can stay at the top -source ~/.zsh_comprc -source ~/.zsh_taskwarrior +# where to write history +export HISTFILE=~/.zsh_history +export HISTSIZE=1000000000 +export SAVEHIST=1000000000 -source ~/.zsh_functions -source ~/.zsh_functions_media -source ~/.zsh_functions_taskwarrior +export ANSIBLE_NOCOWS=1 +export ANSIBLE_STRATEGY=mitogen_linear -source ~/.zsh_aliases -source ~/.zsh_local -source ~/.zsh_qemu +# what is that for exactly? maybe taskwarrior? or timewarrior? +REPORTTIME=10 -source ~/.env_* +## 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 -#zle -N zle-line-init -#zle -N zle-keymap-select -#zle -N edit-command-line +# zsh you-should-use +export YSU_MODE=ALL -export HISTFILE=~/.zsh_history -export HISTSIZE=1000000000 -export SAVEHIST=1000000000 +# I want sbin executables available +export PATH=${PATH}:/usr/local/sbin:/sbin:/usr/sbin +export PATH=${PATH}:~/bin -REPORTTIME=10 +# colors for newt/whiptail (for debconf, needrestart, etc.) +# works better with selenized colorscheme +export NEWT_COLORS='checkbox=yellow,;roottext=yellow,' -#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' +# 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 @@ -40,10 +47,24 @@ 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 + + +# load plugin manager after all 'static' stuff is done +source ~/Data/public/software/zinit/zinit.zsh + + +# mostly static stuff, env vars +zinit load 'https://github.com/joel-porquet/zsh-dircolors-solarized' +zinit load "https://github.com/greymd/tmux-xpanes" + + +# options are usually independent and standalone +# so they can stay at the top setopt AUTO_CD setopt CHASE_LINKS @@ -78,14 +99,92 @@ 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 +# setopt NO_UNSET + + +# load before completion system initialization +zinit load 'https://github.com/zsh-users/zsh-completions' + +# initialize completion system before loading plugins and external configs +source ~/.zsh_comprc -export YSU_MODE=ALL -export tzvt_set_tmux_window_status=true -export PATH=${PATH}:/usr/local/sbin:/sbin:/usr/sbin -#bindkey -v +# 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 -#task awaiting +# 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 + + +#this mainly sets vars, binds keys, does zle stuff +zinit 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' + + +# 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 + + +# keybindings might have been changed by plugins, etc. +# so they go more to the bottom + + +# should probably be closer to the bottom than the top? +zinit 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 +zinit load 'https://github.com/zsh-users/zsh-syntax-highlighting' + + +# commands to run after initialization is complete +#task awaiting cat ~/.motd +# zprof