# plugins - fzf # fzf is automatically picked up by /etc/profile on cygwin, but they're here on arch if [[ -a /usr/share/fzf/key-bindings.zsh ]] && [[ -a /usr/share/fzf/completion.zsh ]]; then export FZF_DEFAULT_OPTS='--no-height --no-reverse' source /usr/share/fzf/key-bindings.zsh source /usr/share/fzf/completion.zsh fi # magic cd setopt autocd export CDPATH=".:$HOME:$HOME/devil:$HOME/src" # just enables a bit nicer life when copy/pasting commands from docs setopt interactive_comments # colors in various core utils alias diff='diff --color' grep_opts="--color=auto --exclude-dir=.git" alias grep="grep $grep_opts" alias egrep="egrep $grep_opts" alias fgrep="fgrep $grep_opts" unset grep_opts if command -v exa &> /dev/null; then alias ls='exa' alias ll='exa --long --header --all' elif ls --color &> /dev/null; then # gnu ls alias ls='ls --color=auto' alias ll='ls -l --almost-all --no-group --human-readable' else # bsd/mac ls export CLICOLOR='1' alias ll='ls -hoA' fi # dots go up alias -g ...='../..' alias -g ....='../../..' alias -g .....='../../../..' # aliases alias cls=clear alias config='git --git-dir=$HOME/.dotfiles --work-tree=$HOME' alias mkdir='mkdir -p' if command -v gpg2 &> /dev/null; then alias gpg='gpg2' fi if [[ "$OSTYPE" == 'cygwin' ]]; then alias sudo='cygstart --action=runas' fi # collapse spaces into tabs in-place # spacetotab [WIDTH=4] function spacetotab () { unexpand --tabs=${2:-4} --first-only "$1" > "$1.tmp" mv "$1.tmp" "$1" } source $ZDOTDIR/completions.zsh source $ZDOTDIR/history.zsh source $ZDOTDIR/vi-mode.zsh source $ZDOTDIR/prompt.zsh # display a fortune when opening an interactive terminal tty -s && fortune $HOME/fortunes 2>/dev/null ||: # startx if not already running an x server (e.g. via display manager) and only on tty1 if [ -z "${DISPLAY}" ] && [ "$(tty)" = "/dev/tty1" ]; then exec startx fi