# /etc/zshrc ou ~/.zshrc # Fichier de configuration principal de zsh # # Les alias # # Quelques alias pratiques alias l='ls -alFh' alias cl='clear' alias less='less -q' alias df='df -h' alias du='du -h' alias h='history' #alias screen='screen -h 2048 -xRD' alias tmux='tmux attach -d' # ssh-agent alias keyon='ssh-add -t 36000' alias keyoff='ssh-add -D' alias keylist='ssh-add -l' # # Local variables # local os=`uname` local GRAY=$'%{\e[1;30m%}' local LIGHT_GRAY=$'%{\e[0;37m%}' local WHITE=$'%{\e[1;37m%}' local LIGHT_BLUE=$'%{\e[1;36m%}' local YELLOW=$'%{\e[1;33m%}' local PURPLE=$'%{\e[1;35m%}' local GREEN=$'%{\e[1;32m%}' local BLUE=$'%{\e[1;34m%}' local RED=$'%{\e[1;31m%}' local DEF=$'%{\e[0m%}' #umask 077 export PAGER=/usr/bin/less case ${os} in SunOS) local color=${RED} export PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/dt/bin:/usr/jdk/latest/bin:/usr/ucb:/usr/local/share/games/quake3:/opt/csw/bin:/opt/csw/sbin:. export JAVA_HOME=/usr/jdk/latest/ ;; OpenBSD) local color=${BLUE} export PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin:/usr/games:/usr/local/jdk-1.5.0/bin:. export JAVA_HOME=/usr/local/jdk-1.5.0/ export CVSROOT=anoncvs@anoncvs.brimbelle.org:/cvs export PKG_PATH=http://ftp.brimbelle.org/pub/OpenBSD/snapshots/packages/`machine -a`:ftp://ftp.fr.openbsd.org/pub/OpenBSD/snapshots/packages/`machine -a` export FETCH_PACKAGES=yes export EDITOR=/usr/local/bin/vim export CVSEDITOR=/usr/local/bin/vim if [ -f "/usr/local/bin/colorls" ]; then alias l='/usr/local/bin/colorls -alFhG' fi ;; FreeBSD) local color=${LIGHT_BLUE} export PATH=/usr/local/libexec/ccache:/usr/local/libexec/distcc:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:$HOME/bin export BLOCKSIZE=K export EDITOR=/usr/local/bin/vim export CVSEDITOR=/usr/local/bin/vim alias l='/bin/ls -alFG' source ~/.fwrc.svn cd $HOME ;; Irix) local color=${GREEN} export PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/nekoware/bin:/usr/nekoware/sbin:. ;; Linux) local color=${PURPLE} export PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:. alias l='ls -alFh --color=auto' ;; Darwin) local color=${LIGHT_BLUE} export PATH=$HOME/Applications:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/bin alias l='/bin/ls -alFG' ;; *) local color=${PURPLE} export PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:. ;; esac # # Prompt et Définition des touches # # Un charset français export LESSCHARSET="latin1" # Correspondance touches-fonction bindkey '[1~' beginning-of-line # Home bindkey '[3~' delete-char # Del bindkey '[4~' end-of-line # End bindkey '[2~' overwrite-mode # Insert bindkey '[5~' history-search-backward # PgUp bindkey '[6~' history-search-forward # PgDn case "$TERM" in "xterm" | "xterm-xfree86" | "screen") export PS1="${color}%n@%m:$WHITE %3~ $YELLOW%(!.#.$) $DEF" ;; *) export PS1="%n@%m: %3~ %(!.#.$) " ;; esac # # Options de zsh (cf 'man zshoptions') # # Je ne veux JAMAIS de beeps unsetopt beep unsetopt hist_beep unsetopt list_beep # >| doit être utilisés pour pouvoir écraser un fichier déjà existant ; # le fichier ne sera pas écrasé avec '>' unsetopt clobber # Ctrl+D est équivalent à 'logout' unsetopt ignore_eof # Affiche le code de sortie si différent de '0' #setop print_exit_value # Demande confirmation pour 'rm *' #unsetopt rm_star_silent # Correction orthographique des commandes # Désactivé car, contrairement à ce que dit le "man", il essaye de # corriger les commandes avant de les hasher #setopt correct # Options de complétion # Quand le dernier caractère d'une complétion est '/' et que l'on # tape 'espace' après, le '/' est effaçé setopt auto_remove_slash # Fait la complétion sur les fichiers et répertoires cachés #setopt glob_dots # Traite les liens symboliques comme il faut setopt chase_links # Quand l'utilisateur commence sa commande par '!' pour faire de la # complétion historique, il n'exécute pas la commande immédiatement # mais il écrit la commande dans le prompt setopt hist_verify # Si la commande est invalide mais correspond au nom d'un sous-répertoire # exécuter 'cd sous-répertoire' setopt auto_cd # L'exécution de "cd" met le répertoire d'où l'on vient sur la pile setopt auto_pushd # Ignore les doublons dans la pile setopt pushd_ignore_dups # N'affiche pas la pile après un "pushd" ou "popd" setopt pushd_silent # "pushd" sans argument = "pushd $HOME" setopt pushd_to_home # Les jobs qui tournent en tâche de fond sont nicé à '0' unsetopt bg_nice # N'envoie pas de "HUP" aux jobs qui tourent quand le shell se ferme unsetopt hup # # Paramètres de l'historique des commandes # export HISTORY=1000 export SAVEHIST=1000 export HISTFILE=$HOME/.zsh_history # # Complétion des options des commandes # zstyle ':completion:*' use-cache on zstyle ':completion:*' cache-path ~/.zsh/cache zstyle ':completion:*' completer _complete _match _approximate zstyle ':completion:*:match:*' original only zstyle ':completion:*:approximate:*' max-errors 1 numeric zstyle -e ':completion:*:approximate:*' \ max-errors 'reply=($((($#PREFIX+$#SUFFIX)/3))numeric)' zstyle ':completion:*:functions' ignored-patterns '_*' zstyle ':completion:*' squeeze-slashes true zstyle ':completion:*:cd:*' ignore-parents parent pwd autoload -U compinit compinit # # Commandes a lancer #