Tout d'avord, un exemple de ligne de commande :
Code : Tout sélectionner
$ cd /Data/file/programs/x86/
Quand je suis sous bash et que je tape Ctrl + U, il me reste :
Code : Tout sélectionner
$ grams/x86/
Voici mon fichier.zshrc :
Code : Tout sélectionner
# Fichier de configuration - Zsh Shell
# Importation des alias du fichier .zsh_aliases
source ~/.zsh_aliases
source ~/.zsh/pass.zsh-completion
####################################
# Prompt et définition des touches #
####################################
# Exemple : ma touche HOME, cf man termcap, est codifiee K1 (upper left
# key on keyboard) dans le /etc/termcap. En me referant a l'entree
# correspondant a mon terminal (par exemple 'linux') dans ce fichier, je
# lis : K1=\E[1~, c'est la sequence de caracteres qui sera envoyee au
# shell. La commande bindkey dit simplement au shell : a chaque fois que
# tu rencontres telle sequence de caractere, tu dois faire telle action.
# La liste des actions est disponible dans "man zshzle".
# Correspondance touches-fonction
bindkey '' beginning-of-line # Home
bindkey "\e[1~" beginning-of-line
bindkey "\e[H" beginning-of-line
bindkey '' end-of-line # End
bindkey "\e[4~" end-of-line
bindkey "\e[F" end-of-line
bindkey '' delete-char # Del
bindkey '[3~' delete-char
bindkey '[2~' overwrite-mode # Insert
bindkey '[5~' history-search-backward # PgUp
bindkey '[6~' history-search-forward # PgDn
export PS1="%{[36;1m%}%T %{[31m%}%n%{[33m%}@%{[37m%}%m %{[32m%}%~ %{[33m%}$%{[0m%} "
# Prise en charge des touches [début], [fin] et autres
typeset -A key
key[Home]=${terminfo[khome]}
key[End]=${terminfo[kend]}
key[Insert]=${terminfo[kich1]}
key[Delete]=${terminfo[kdch1]}
key[Up]=${terminfo[kcuu1]}
key[Down]=${terminfo[kcud1]}
key[Left]=${terminfo[kcub1]}
key[Right]=${terminfo[kcuf1]}
key[PageUp]=${terminfo[kpp]}
key[PageDown]=${terminfo[knp]}
[[ -n "${key[Home]}" ]] && bindkey "${key[Home]}" beginning-of-line
[[ -n "${key[End]}" ]] && bindkey "${key[End]}" end-of-line
[[ -n "${key[Insert]}" ]] && bindkey "${key[Insert]}" overwrite-mode
[[ -n "${key[Delete]}" ]] && bindkey "${key[Delete]}" delete-char
[[ -n "${key[Up]}" ]] && bindkey "${key[Up]}" up-line-or-history
[[ -n "${key[Down]}" ]] && bindkey "${key[Down]}" down-line-or-history
[[ -n "${key[Left]}" ]] && bindkey "${key[Left]}" backward-char
[[ -n "${key[Right]}" ]] && bindkey "${key[Right]}" forward-char
# Gestion de la couleur pour 'ls' (exportation de LS_COLORS)
#if [ -x /usr/bin/dircolors ]
#then
# if [ -r ~/.dir_colors ]
# then
# eval "`dircolors ~/.dir_colors`"
# fi
#fi
########################################
# Options de zsh (cf 'man zshoptions') #
########################################
# >| 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'
setopt print_exit_value
# Gestion des jokers
setopt nullglob
# Options de complétion
unsetopt list_ambiguous
# Quand le dernier caractère d'une complétion est '/' et que l'on
# tape 'espace' après, le '/' est effacé
setopt auto_remove_slash
# Ne fait pas de complétion sur les fichiers et répertoires cachés
unsetopt 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
# 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 #
############################################
# Nombre d'entrées dans l'historique
export HISTORY=1000
export SAVEHIST=1000
# Fichier où est stocké l'historique
export HISTFILE=$HOME/.history
# Chaque ligne est ajoutée dans l'historique à mesure qu'elle est tapée
setopt inc_append_history
# La recherche dans l'historique avec l'éditeur de commandes de zsh ne
# montre pas une même ligne plus d'une fois, même si elle a été
# enregistrée
setopt hist_find_no_dups
########################################
# Complétion des options des commandes #
########################################
zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}'
zstyle ':completion:*' max-errors 3 numeric
zstyle ':completion:*' use-compctl false
zstyle ':completion:*' menu select
autoload -U compinit
compinit
#########################
# Programmes personnels #
#########################
# Program mail :
case ($tty) in
/dev/pts/*)
ps -e | grep notify-mail > /dev/null
ret=$?
if [ "$ret" = 1 ]
then
notify-mail &
fi
;;
esac
# Program login tty
case $(tty) in
/dev/tty*)
python /usr/local/bin/calendrier.py ;;
esac