summaryrefslogtreecommitdiff
path: root/.zshrc
blob: e597e8e8179c87ac4c504a918503ed6cbc2298de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
# zprof only makes sense at the very top
# zmodload zsh/zprof


# 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

## 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
export PATH=${PATH}:~/bin

# 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/


# 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 MARK_DIRS
setopt NUMERIC_GLOB_SORT
setopt RC_EXPAND_PARAM
#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
# Remove superfluous blanks
setopt HIST_REDUCE_BLANKS
# expand history expansion for verification
setopt HIST_VERIFY
# 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
setopt PRINT_EXIT_VALUE

setopt AUTO_CONTINUE
setopt NO_BG_NICE
#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


# 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