########################################################### # Options for zsh export PATH="/home/sini/.cw/def:$PATH" export CW_COLORIZE=grey export HISTFILE=~/.zsh_history export HISTSIZE=500 export SAVEHIST=50000 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 setopt complete_in_word setopt always_to_end # When complete from middle, move cursor setopt correct # Spelling correction setopt extended_history function precmd { title zsh "$PWD" } function preexec { emulate -L zsh local -a cmd; cmd=(${(z)1}) title $cmd[1]:t "$cmd[2,-1]" } function title() { if [[ $TERM == "screen" ]]; then print -nR $'\033k'$1$'\033'\\ print -nR $'\033_'$2$'\033'\\ elif [[ $TERM == "xterm" || $TERM == "rxvt-unicode" ]]; then print -Pn "\e]0;$*$i\a" fi } # PS1 and PS2 export PS1="$(print '%{\e[1;34m%}%n%{\e[0m%}'):$(print '%{\e[0;34m%}%~%{\e[0m%}')$ " export PS2="$(print '%{\e[0;34m%}>%{\e[0m%}')" # Vars used later on by zsh export EDITOR="vim" export XTERM="urxvt" ################################################################## # 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 zstyle ':completion::complete:*' use-cache 1 ################################################################## # Key bindings # http://mundy.yazzy.org/unix/zsh.php # http://www.zsh.org/mla/users/2000/msg00727.html typeset -g -A key bindkey -v bindkey '\e[3~' delete-char bindkey '^R' history-incremental-search-backward 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 ################################################################## # My aliases # Set up auto extension stuff alias -s html=$BROWSER alias -s org=$BROWSER alias -s php=$BROWSER alias -s com=$BROWSER alias -s net=$BROWSER alias -s png=feh alias -s jpg=feh alias -s gif=feg alias -s sxw=soffice alias -s doc=soffice alias -s gz=tar -xzvf alias -s bz2=tar -xjvf alias -s java=$EDITOR 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 f='find |grep' alias c="clear" alias dir='ls -1' alias ..='cd ..' alias top='htop' # command L equivalent to command |less alias -g L='|most' # command S equivalent to command &> /dev/null & alias -g S='&> /dev/null &' # type a directory's name to cd to it. compctl -/ cd