# .zshrc : execute pour chaque shell interactif # _ _ # |(_ le 22/10/94 #`' # 23/11 remise a jour pour zsh v2.6 setopt nobeep # N'as plus de raison d'être dans un environnement multifenêtré unsetopt bgnice #forget lines beginning with blanks setopt histignorespace #ignore duplicate lines in history setopt histignoredups #allows comments setopt interactivecomments #no clobber set -1 does not work setopt noclobber #notify background jobs setopt notify #don't exit on end-of-file setopt ignoreeof #autolist choices setopt autolist #correct spelling setopt correct #pushd to home setopt pushdtohome #auto pushd setopt autopushd #menu completion setopt menucomplete #export everything unsetopt allexport setopt print_exit_value setopt nonomatch #alias alias cp='/bin/cp ' alias d='dirs -v' alias ll='ls -al' alias echo='print' alias h='fc -l' alias j='jobs -l' alias rm='\rm -i' alias cp='\cp -i' alias mv='\mv -i' #alias netscape='echo Pas de Netscape, au travail !' WATCHFMT='user %n has %a from %M at %T' # Commandes qui attendent des noms de machine en argument hostcmds=( xftp : ftp : nslookup : ping : xon ) if [ $TERM="xterm" ] then #PS1="%B%~>%b " PS1="%n@%m %~> " else #PS1="%B%m%#%~>%b " PS1="%B%n@%m %~>%b " fi # PS2='> ' PS3='? ' # ############################# fonctions ############################ # # Vide l'historique des répertoires popa() { for i in `dirs` ; do popd >/dev/null done } # Le titre du xterm = nom de la machine precmd() { if [ "$TERM" = "xterm" ] then XTERMNAME=${HOST%%.*} echo -n "]1;$XTERMNAME" echo -n "]2;$XTERMNAME" fi } alias trace='setopt xtrace' alias notrace='unsetopt xtrace' # À partir de la version 2.3 # sauvegarde de l'historique if [[ "${VERSION#zsh v2.}" > 3 ]] then setopt append_history setopt extended_history fi # À partir de la version 2.5 # complétion spécialisées if [[ "${VERSION#zsh v2.}" > 5 ]] then compctl -g '*.dvi' xdvi dvips compctl -g '*.tex' latex latex2e tex compctl -g '*.ps *.eps *.epsf' ghostview gs compctl -g '*.l' flex lex compctl -g '*.y' bison yacc compctl -g '*.c' cc gcc compctl -g '*.cc *.C' cxx g++ compctl -g '*.fig' xfig fig2dev compctl -j -P % -x 's[-] p[1]' -k signals -- kill # gzip files, but gzip -d only gzipped or compressed files compctl -f -x 'R[-*d,^*]' -g '*.gz *.z *.Z' + -g '*(-/)' -- gzip compctl -g '*.gz *.z *.Z' + -g '*(-/)' gunzip zcat zmore zcat compctl -g '*.Z' + -g '*(-/)' uncompress fi # À partir de la version 2.6 # plus de complétion particulieres pour les machines if [[ "${VERSION#zsh v2.}" > 6 ]] then compctl -k hosts -x 'c[-1,-l]' -u -- rlogin rsh compctl -k hosts $hostcmds compctl -j -P % -x 's[@] p[1]' -k hosts -- finger fi autoload -U promptinit promptinit #prompt fire exit_zsh() { exit } zle -N exit_zsh bindkey '^D' exit_zsh PROMPT='%B%F{green}%n@%m%f%F{yellow}:%~ %#%f%b ' alias ls='ls --color=auto' LESSCHARSET=UTF-8 export LESS_TERMCAP_mb=$'\E[1;31m' # begin blink export LESS_TERMCAP_md=$'\E[1;36m' # begin bold export LESS_TERMCAP_me=$'\E[0m' # reset bold/blink export LESS_TERMCAP_so=$'\E[01;44;33m' # begin reverse video export LESS_TERMCAP_se=$'\E[0m' # reset reverse video export LESS_TERMCAP_us=$'\E[1;32m' # begin underline export LESS_TERMCAP_ue=$'\E[0m' # reset underline