diff options
Diffstat (limited to '.zsh/zshrc')
-rw-r--r-- | .zsh/zshrc | 197 |
1 files changed, 197 insertions, 0 deletions
diff --git a/.zsh/zshrc b/.zsh/zshrc new file mode 100644 index 0000000..5b749be --- /dev/null +++ b/.zsh/zshrc @@ -0,0 +1,197 @@ +# Alias definition {{{ +################################################# + +# the | cmd aliases +alias -g L='| less' +alias -g H='| head' +alias -g T='| tail' +alias -g G='| grep' + +# > aliases +alias -g NE='2> /dev/null' +alias -g NO='> /dev/null' +alias -g NOE='&> /dev/null' + +# "vim" mappings +alias :e='gvim' +alias :q='exit' + +# ls +alias ls='ls --color=auto' +alias ll='ls -l' +alias la='ls -a' + +# emerge stuff +alias AK='ACCEPT_KEYWORDS="~x86"' +alias NS='FEATURES="nostrip" CFLAGS="-O0 -ggdb -pipe -march=native" CXXFLAGS="${CFLAGS}"' +alias e="eix -e" +alias i="eix -I" +alias ee='open_ebuild vim' +alias eeg='open_ebuild gvim' + +# misc +alias cdp='cd ~/dev/portato' +alias g='git' +alias h='history' +alias pstart='./portato.py -F' +alias quickweb='python -c "import SimpleHTTPServer;SimpleHTTPServer.test()"' +alias CH='./configure --help | less' +alias FF='noglob firefox' +alias IE='isabelle emacs' + +# }}} + +# Functions {{{ +################################################# + +source ~/.zsh/zshfunctions + +# }}} + +# Test for an interactive shell {{{ +# There is no need to set anything past this point for scp and rcp, +# and it's important to refrain from outputting anything in those cases. +if [[ $- != *i* ]] ; then + # Shell is non-interactive. Be done now! + return +fi +# }}} + +# Completion {{{ +################################################# +autoload -U compinit +compinit + +zmodload -i zsh/complist +zstyle ':completion::complete:*' use-cache 1 + +# the different style options +zstyle ":completion:*" verbose yes # be verbose +zstyle ":completion:*:descriptions" format "%S%d%s" # show descriptions +zstyle ":completion:*:corrections" format "%S%d%s" +zstyle ":completion:*:warnings" format "%S%d%s" +zstyle ":completion:*:errors" format "%S%d%s" + +zstyle ":completion:*" menu select=2 # show menu +zstyle ":completion:*:default" select-prompt "%SMatch %M %P%s" # show statusline + +zstyle ":completion::complete:*" rehash true # rehash always :) + +[[ -z $LS_COLORS ]] && eval $(dircolors) # needed for next line +zstyle ":completion:*:default" list-colors ${(s.:.)LS_COLORS} # make filecompletions being colored + +# }}} + +# Prompt {{{ +################################################# +autoload -U promptinit +promptinit; prompt gentoo + +# remove RPROMPT when command finished +setopt transient_rprompt + +# load colors +autoload -U colors +colors + +# show smilies in prompt :) +RPROMPT="%(?.%S%{$fg[green]%}:).%S%{$fg[red]%}:()%{$reset_color%}%s" + +# vcs stuff for prompt +setopt prompt_subst + +if [[ $ZSH_VERSION == 4.3.<->* ]]; then + autoload -Uz vcs_info + + zstyle ":vcs_info:*" enable bzr cvs svn git hg + zstyle ":vcs_info:*" formats "%B%{$fg[yellow]%}[%{$fg[green]%}(%u%c) %{$fg[yellow]%}%b:%1.6i%f%%b (%s)%B%{$fg[yellow]%}]%f%%b" + zstyle ":vcs_info:*" branchformat "%b" + zstyle ":vcs_info:*" get-revision true + zstyle ":vcs_info:*" check-for-changes true + zstyle ":vcs_info:*" max-exports 1 + zstyle ":vcs_info:bzr:*" unstagedstr '*' + + if type bzr NOE; then + if type bzrc NOE; then + bzr service NOE &! + zstyle ":vcs_info:bzr:*" command bzrc + zstyle ":vcs_info:bzr:*" use-simple false + else + zstyle ":vcs_info:bzr:*" use-simple true + fi + fi + + RPROMPT='${vcs_info_msg_0_:+"${vcs_info_msg_0_} "}'"${RPROMPT}" +else + vcs_info () {} # dummy +fi + +# }}} + +# XTerm Window Title {{{ +################################################# +autoload promptnl +case $TERM in +xterm*|rxvt*|Eterm) + precmd() + { + echo -ne "\033]0;${USER}@$(hostname):${PWD/$HOME/~}\007"; + promptnl + vcs_info + } +;; +screen) + precmd() + { + echo -ne "\033_${USER}@$(hostname):${PWD/$HOME/~}\033\\"; + promptnl + vcs_info + } +;; +esac +# }}} + +# Key bindings {{{ +################################################# +bindkey -e # use emacs style :) +case $TERM in (xterm*|aterm|rxvt) + bindkey "^[OH" beginning-of-line + bindkey "^[OF" end-of-line + bindkey "^[[3~" delete-char + if [[ $ZSH_VERSION == 4.3.10 ]]; then + bindkey "^R" history-incremental-pattern-search-backward + bindkey "^S" history-incremental-pattern-search-forward + else + bindkey "^R" history-incremental-search-backward + bindkey "^S" history-incremental-search-forward + fi + ;; +esac +# }}} + +# History {{{ +################################################# +HISTSIZE=10000 +SAVEHIST=12000 +HISTFILE=~/.zshhistory +setopt hist_no_store # no not store history related commands +setopt inc_append_history # append incrementally instead of waiting until the shell exists +setopt hist_verify # for history related commands: reload the expanded version instead of executing it directly +setopt hist_no_functions # do not store function definitions + +setopt hist_ignore_dups # ignore duplicates +setopt hist_ignore_all_dups # ignore _all_ duplicates + +# }}} + +# Misc Options {{{ +################################################# +setopt no_notify # do not disturb if bg-process has quit +setopt no_bg_nice # start bg-processes with the same nice-level as fg-p~ +setopt auto_cd # if you type a dir take it as a cd +setopt correct # correct possibly wrong command names +setopt complete_in_word + +# }}} + +# vim: fdm=marker |