################### # Options for Zsh # export HISTFILE=~/.zsh_history export HISTSIZE=50000 export SAVEHIST=50000 eval `dircolors -b` bindkey -e autoload -U colors && colors autoload -U compinit compinit setopt autopushd pushdminus pushdsilent pushdtohome setopt autocd setopt cdablevars #setopt ignoreeof setopt interactivecomments setopt nobanghist #setopt noclobber setopt HIST_REDUCE_BLANKS setopt HIST_IGNORE_SPACE setopt SH_WORD_SPLIT #setopt nohup # Vars used later on by Zsh export EDITOR=/usr/bin/vim export BROWSER=/usr/bin/firefox export XTERM="/usr/bin/urxvt -e /usr/bin/tmux" export PAGER=/bin/less ################################ # Stuff to make my life easier # # allow approximate zstyle ':completion:*' completer _complete _match _approximate zstyle ':completion:*:match:*' original only zstyle ':completion:*:approximate:*' max-errors 1 numeric # tab completion for PID :D zstyle ':completion:*:*:kill:*' menu yes select zstyle ':completion:*:kill:*' force-list always # cd not select parent dir zstyle ':completion:*:cd:*' ignore-parents parent pwd # useful for path editing ? backward-delete-word, but with / as additional delimiter backward-delete-to-slash () { local WORDCHARS=${WORDCHARS//\//} zle .backward-delete-word } zle -N backward-delete-to-slash # useful for path editing ? backward-delete-word, but with / as additional delimiter backward-delete-to-slash () { local WORDCHARS=${WORDCHARS//\//} zle .backward-delete-word } zle -N backward-delete-to-slash ################################################################## # Key bindings # http://mundy.yazzy.org/unix/zsh.php # http://www.zsh.org/mla/users/2000/msg00727.html typeset -g -A key bindkey '^?' backward-delete-char bindkey '^[[1~' beginning-of-line bindkey '^[[5~' up-line-or-history bindkey '^[[3~' delete-char bindkey '^[[4~' end-of-line bindkey '^[[6~' down-line-or-history bindkey '^[[A' up-line-or-search bindkey '^[[D' backward-char bindkey '^[[B' down-line-or-search bindkey '^[[C' forward-char bindkey '^[w' backward-delete-to-slash # completion in the middle of a line bindkey '^i' expand-or-complete-prefix ############## # My aliases # # Set up auto alias -s html=$BROWSER alias -s zip='tar -xf' alias -s tar='tar -xf' alias -s tgz='tar -xf' alias -s gz='tar -xf' alias -s xz='tar -xf' alias -s txt=$EDITOR alias -s PKGBUILD=$EDITOR # Normal aliases alias ls='ls --color=auto -F' alias lsd='ls -ld *(-/DN)' alias lsa='ls -ld .*' alias l='ls -Glarth' alias f='find|grep' alias svim="sudo $EDITOR" alias updatedb="sudo updatedb" alias sprunge="curl -F 'sprunge=<-' http://sprunge.us" alias pkg-list="pacman -Qei \$(pacman -Qq)|awk 'BEGIN {FS=\":\"}/^Name/{printf(\"\033[1;36m%s\033[1;37m\", \$2)}/^Description/{print \$2}'" # command DN equivalent todevnulldevnullmand &> /dev/null & alias -g DN='&> /dev/null &' pacman() { pacman_bin=${commands[pacman-color]:-/usr/bin/pacman} sudo_bin==sudo case $1 in -S | -S[^sih]* | -R* | -U*) $sudo_bin /bin/su -c"$pacman_bin \"$@\"" ;; *) $pacman_bin "$@" ;; esac }