# Search path for the cd command cdpath=(.. ~ ~/src ~/zsh) # Use hard limits, except for a smaller stack and no core dumps unlimit limit stack 8192 limit core 0 limit -s umask 022 # Set up aliases alias mv='nocorrect mv' # no spelling correction on mv alias cp='nocorrect cp' # no spelling correction on cp alias mkdir='nocorrect mkdir' # no spelling correction on mkdir alias j=jobs alias pu=pushd alias po=popd alias d='dirs -v' alias h=history alias ls='ls --color=auto' alias ll='ls -l' alias la='ls -A' alias trelew='ssh trelew' alias athlon='ssh athlon' alias logistica='ssh logistica' # Atajos alias ag=apt-get alias ac=apt-cache alias agr='apt-get remove' alias acs="apt-cache search" alias agi="apt-get install" alias igrep="grep -i" alias la="ls -lA" alias td="todo" alias motd="cat /etc/motd" # Disable ctrl-s stty -ixon # List only directories and symbolic # links that point to directories alias lsd='ls -ld *(-/DN)' # List only file beginning with "." alias lsa='ls -ld .*' # Shell functions setenv() { typeset -x "${1}${1:+=}${(@)argv[2,$#]}" } # csh compatibility freload() { while (( $# )); do; unfunction $1; autoload -U $1; shift; done } # Where to look for autoloaded function definitions fpath=($fpath ~/.zfunc) # Autoload all shell functions from all directories in $fpath (following # symlinks) that have the executable bit on (the executable bit is not # necessary, but gives you an easy way to stop the autoloading of a # particular shell function). $fpath should not be empty for this to work. for func in $^fpath/*(N-.x:t); autoload $func # automatically remove duplicates from these arrays typeset -U path cdpath fpath # Global aliases -- These do not have to be # at the beginning of the command line. alias -g L='|less' alias -g H='|head' alias -g T='|tail' # Some environment variables export MAIL=/var/spool/mail/$USERNAME export LESS=-cex3M export HELPDIR=/usr/local/lib/zsh/help # directory for run-help function to find docs for i in ~/Mail/[^.]* do MAILPATH=$MAILPATH:$i'?You have new mail in your ${_##*/} folder' done export MAILPATH unset i MAILCHECK=300 HISTSIZE=200 DIRSTACKSIZE=20 # Watch for my friends #watch=( $(<~/.friends) ) # watch for people in .friends file watch=(notme) # watch for everybody but me LOGCHECK=300 # check every 5 min for login/logout activity WATCHFMT='%n %a %l from %m at %t.' # Set/unset shell options setopt notify globdots correct pushdtohome cdablevars autolist setopt correctall autocd recexact longlistjobs setopt autoresume histignoredups pushdsilent noclobber setopt autopushd pushdminus extendedglob rcquotes mailwarning unsetopt bgnice autoparamslash # Autoload zsh modules when they are referenced zmodload -a zsh/stat stat zmodload -a zsh/zpty zpty zmodload -a zsh/zprof zprof zmodload -ap zsh/mapfile mapfile bindkey -e # emacs key bindings #-------------------------------------------------- # bindkey ' ' magic-space # also do history expansion on space #-------------------------------------------------- #-------------------------------------------------- # bindkey '^I' complete-word # complete on tab, leave expansion to _expand #-------------------------------------------------- # Setup new style completion system. To see examples of the old style (compctl # based) programmable completion, check Misc/compctl-examples in the zsh # distribution. autoload -U compinit compinit # Completion Styles # list of completers to use zstyle ':completion:*::::' completer _expand _complete _ignored _approximate # allow one error for every three characters typed in approximate completer zstyle -e ':completion:*:approximate:*' max-errors \ 'reply=( $(( ($#PREFIX+$#SUFFIX)/3 )) numeric )' # insert all expansions for expand completer zstyle ':completion:*:expand:*' tag-order all-expansions # formatting and messages zstyle ':completion:*' verbose yes zstyle ':completion:*:descriptions' format '%B%d%b' zstyle ':completion:*:messages' format '%d' zstyle ':completion:*:warnings' format 'No matches for: %d' zstyle ':completion:*:corrections' format '%B%d (errors: %e)%b' zstyle ':completion:*' group-name '' # match uppercase from lowercase zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}' # offer indexes before parameters in subscripts zstyle ':completion:*:*:-subscript-:*' tag-order indexes parameters # command for process lists, the local web server details and host completion #zstyle ':completion:*:processes' command 'ps -o pid,s,nice,stime,args' #zstyle ':completion:*:urls' local 'www' '/var/www/htdocs' 'public_html' zstyle '*' hosts $hosts # Filename suffixes to ignore during completion (except after rm command) zstyle ':completion:*:*:(^rm):*:*files' ignored-patterns '*?.o' '*?.c~' \ '*?.old' '*?.pro' # the same for old style completion #fignore=(.o .c~ .old .pro) # ignore completion functions (until the _ignored completer) zstyle ':completion:*:functions' ignored-patterns '_*' # name directories namedir() { export $1=$PWD; : ~$1 } # don't put duplicate lines in the history. See bash(1) for more options export HISTCONTROL=ignoredups export HISTIGNORE="&:ls:ls *:mutt:[bf]g:exit" PROMPT=$'%{\e[1;32m%}%n@%m%{\e[0m%}:%{\e[1;34m%}%~>%{\e[0m%} ' # make less more friendly for non-text input files, see lesspipe(1) [ -x /usr/bin/lesspipe ] && eval "$(lesspipe)" # set variable identifying the chroot you work in (used in the prompt below) if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then debian_chroot=$(cat /etc/debian_chroot) fi # Load local settings if test -e ~/.zshrc_local; then source ~/.zshrc_local; fi