# Zsh configuration file.
-# Copyright (C) 2011-2014 Simon Ruderich
+# Copyright (C) 2011-2018 Simon Ruderich
#
# This file is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# functions).
fpath=(~/.zsh/functions $fpath)
# Autoload my functions (except completion functions and hidden files). Thanks
-# to caphuso from the Zsh example files for this idea.
-if [[ -d ~/.zsh/functions ]]; then
+# to caphuso from the Zsh example files for this idea. Check if there are any
+# functions to load or autoload fails; thanks to okdana in #zsh on Freenode
+# (2018-07-18 09:29 CEST) for the idea to use (#qNY1) for the check.
+if [[ -d ~/.zsh/functions && -n ${fpath[1]}/^_*(#qNY1^/:t) ]]; then
autoload -Uz ${fpath[1]}/^_*(^/:t)
fi
# after calling ^P.
bindkey -a '^N' history-beginning-search-forward
+# Use current input when pressing Ctrl-R. Thanks to Mikachu in #zsh on
+# Freenode (2016-07-08 20:54 CEST).
+zshrc-history-incremental-pattern-search-backward() {
+ zle .history-incremental-pattern-search-backward $BUFFER
+}
+zle -N history-incremental-pattern-search-backward \
+ zshrc-history-incremental-pattern-search-backward
# Enable incremental search which is especially useful when the string is an
# argument and not the command.
bindkey '^R' history-incremental-pattern-search-backward
compdef slocate=locate
compdef srsync=rsync
compdef srsync-incremental=rsync
-compdef svalgrind=valgrind
compdef sc=systemctl
alias -g SL='| sort | less'
alias -g T='| tail'
alias -g U='| uniq'
-alias -g X='`xsel -p || xclip -o`' # X selection
+alias -g X='-- "$(xsel -p || xclip -o)"' # X selection
# Make going up directories simple.
alias -g ...='../..'