+# Don't exit if <C-d> is pressed.
+setopt ignoreeof
+
+# Autoload add-zsh-hook to add/remove zsh hook functions easily.
+autoload -Uz add-zsh-hook
+
+# If ^C is pressed while typing a command, add it to the history so it can be
+# easily retrieved later and then abort like ^C normally does. This is useful
+# when I want to abort an command to do something in between and then finish
+# typing the command.
+TRAPINT() {
+ # Store the current buffer in the history.
+ zle && print -s $BUFFER
+
+ # Return the default exit code so zsh aborts the current command.
+ return $1
+}
+
+# Execute all periodic functions every hour.
+PERIOD=3600
+# Display TODOs stored in ~/.todo if this file exists. Run every hour to make
+# clear they should be completed ;-).
+todo() {
+ if [[ -f ~/.todo ]]; then
+ cat ~/.todo | $PAGER
+ fi
+}
+add-zsh-hook periodic todo
+
+# Simplify calls to less, automatically redirects all output.
+alias -g L='2>&1 | less'
+# Simplify calls to colordiff, output is also piped through less.
+alias -g D='2>&1 | colordiff L'
+# Simplify calls to grep.
+alias -g G='| grep'