#LANG=fr_FR.ISO8859-15; export LANG
#MM_CHARSET=ISO-8859-15; export MM_CHARSET
#LC_ALL=fr_FR.ISO8859-1; export LC_ALL
#LC_ALL=fr_FR.ISO8859-15; export LC_ALL

LANG=fr_FR.UTF-8; export LANG
MM_CHARSET=UTF-8; export MM_CHARSET
LC_ALL=fr_FR.UTF-8; export LC_ALL

LS_COLORS='di=01;32:*.conf=01;33:'
export LS_COLORS
alias ls='gnuls --color=auto -F'

G_FILENAME_ENCODING=@locale

# Completition pour killall
#zstyle '*:processes-names' command 'ps -e -o comm='

# Gestion du grep : couleur
#alias grep='grep --ignore-case --color=auto'
alias grep='grep --color=auto'

# Demande confirmation avant d'écraser un fichier
alias cp='cp -v -i'
alias mv='mv -v -i'
alias rm='rm -v -i'

# Raccourcis pour 'ls'
alias ll='ls -l'
alias la='ls -a'
alias lla='ls -la'

# Quelques alias pratiques
alias c='clear'
#alias less='less --quiet'
alias s='cd ..'
alias h='cd ~'
alias df='df -h'
alias du='du -s -h'
alias free='sysctl -a | grep -i memory'
alias cdports='cd /usr/ports'
alias updateadb='sudo /usr/libexec/locate.updatedb'
alias reboot='sudo reboot'
alias halt='sudo halt'
alias lns='ln -s -v'
alias lsg='ls | grep'
alias lag='ls -a | grep'
alias llg='ls -l | grep'
alias llag='ls -la | grep'
alias lsgi='ls | grep -i'
alias lagi='ls -a | grep -i'
alias llgi='ls -l | grep -i'
alias llagi='ls -la | grep -i'
alias rd='rmdir'
alias md='mkdir'
alias rmf='rm -rf'
alias sudorm='sudo rm -v -i'
alias rmsudo='sudo rn -v -i'
alias tarz='tar xzf'
alias tarj='tar xjpf'
alias gvim='$HOME/local/vim/bin/gvim'
alias gvimbsd='/usr/X11R6/bin/gvim'
alias alpine='alpine -passfile ~/.alpine-passfile'
alias batterie='sysctl hw.acpi.battery'
alias claws='claws-mail'
alias xsexit='xscreensaver-command -exit'
alias d='date +%A\ %d\ %B\ %Y,\ %Hh\ %Mm\ et\ %Ss'
alias mplayerdvd='mplayer -dvd-device /dev/acd0 dvd://1'
alias gmplayerdvd='gmplayer dvd://1'
alias mplayercd='mplayer -cdrom-device /dev/acd0 cdda://'
alias gmplayercd='gmplayer -cdrom-device cdda://'
alias mocp='mocp -T black_theme'
alias cdplay='cdplay -d /dev/acd0'
alias eject='cdcontrol -f /dev/acd0 eject'
alias su='su -'
alias em='emelfm2'
alias ifconfigginet="ifconfig | grep inet"
alias lsdbg='ls /var/db/pkg | grep'
alias em='emelfm2'
alias ifconfiginet='ifconfig| grep inet'
alias fehbgscale='feh --bg-scale'
alias fehbgcenter='feh --bg-center'
alias fehbgfill='feh --bg-fill'
alias fehbgmax='feh --bg-max'
alias vlc='vlc -I ncurses -f'
alias vlcnc='vlc -I ncurses -f'
alias vlcqt='vlc -I qt4 -f'
alias vlcdvd='vlc -I ncurses -f dvd:///dev/acd0'
alias vlccd='vlc -I ncurses -f cdda:///dev/acd0'
alias ncftp-lam='ncftp --bookmark lamarelle'
alias ncftp-lam.org='ncftp --bookmark lamarelle.org'

# Émulateurs de terminal
alias rxvtrv='urxvt -rv +sb'
alias xterm='uxterm -bg black -fg grey95'

# Mount
# disque 1To
alias disque-sata='sudo ntfs-3g /dev/da0s1 /media/phil/disque-externe-sata/ntfs && mount -v -t msdosfs /dev/da0s2 /media/phil/disque-externe-sata/msdosfs && mount -v -t ext2fs /dev/da0s3 /media/phil/disque-externe-sata/ext2fs'
alias udisque-sata='sudo umount -v /media/phil/disque-externe-sata/ntfs && umount -v /media/phil/disque-externe-sata/msdosfs && umount -v /media/phil/disque-externe-sata/ext2fs' # fin disque 1To
# disque ide 100Go
alias disque-ide='mount -v -t msdosfs /dev/da0s1 /media/phil/disque-externe-ide/msdosfs && mount -v -t ext2fs /dev/da0s2 /media/phil/disque-externe-ide/ext2fs'
alias udisque-ide='umount -v /media/phil/disque-externe-ide/msdosfs && umount -v /media/phil/disque-externe-ide/ext2fs' # fin disque ide 100Go
# disque 1To en /dev/da1
alias disque-sata2='sudo ntfs-3g /dev/da1s1 /media/phil/disque-externe-sata/ntfs && mount -v -t msdosfs /dev/da1s2 /media/phil/disque-externe-sata/msdosfs && mount -v -t ext2fs /dev/da1s3 /media/phil/disque-externe-sata/ext2fs'
alias udisque-sata2='sudo umount -v /media/phil/disque-externe-sata/ntfs && umount -v /media/phil/disque-externe-sata/msdosfs && umount -v /media/phil/disque-externe-sata/ext2fs' # fin disque 1To en /dev/da1
# disque ide 100Go en /dev/da1
alias disque-ide2='mount -v -t msdosfs /dev/da1s1 /media/phil/disque-externe-ide/msdosfs && mount -v -t ext2fs /dev/da1s2 /media/phil/disque-externe-ide/ext2fs'
alias udisque-ide2='umount -v /media/phil/disque-externe-ide/msdosfs && umount -v /media/phil/disque-externe-ide/ext2fs' # fin disque ide 100Go en /dev/da1
# cdrom:
alias mcdrom='sudo mount -v -t cd9660 /dev/cd0 /cdrom'
alias mcdromu='mount -v -t cd9660 /dev/cd0 /media/phil/cdrom'
alias umcdrom='sudo umount /cdrom'
alias umcdromu='umount -v /media/phil/cdrom'
alias mcdromracine='sudo mount -v /cdrom'
alias ucdromracine='sudo umount -v /cdrom'
alias mcdromuser='mount -v /media/phil/cdrom'
alias ucdromuser='umount -v /media/phil/cdrom'
# 1 partition msdos:
alias disque0='mount -v -t msdosfs /dev/da0s1 /media/phil/disque0'
alias disque1='mount -v -t msdosfs /dev/da1s1 /media/phil/disque1'
alias disque2='mount -v -t msdosfs /dev/da2s1 /media/phil/disque2'
alias udisque0='umount -v /media/phil/disque0'
alias udisque1='umount -v /media/phil/disque1'
alias udisque2='umount -v /media/phil/disque2'
alias cddisque0='cd /media/phil/disque0'
alias cddisque1='cd /media/phil/disque1'
alias cddisque2='cd /media/phil/disque2'
alias udisque0='umount -v /media/phil/disque0'
alias udisque1='umount -v /media/phil/disque1'
alias udisque2='umount -v /media/phil/disque2'
# mes clefs 2 partitions, msdosfs/ext2fs:
alias clef1='mount -v -t msdosfs /dev/da0s1 /media/phil/usb-2part/msdosfs && mount -v -t ext2fs /dev/da0s2 /media/phil/usb-2part/ext2fs'
alias clef2='mount -v -t msdosfs /dev/da1s1 /media/phil/usb-2part2/msdosfs && mount -v -t ext2fs /dev/da1s2 /media/phil/usb-2part2/ext2fs'
alias uclef1='umount -v /media/phil/usb-2part/msdosfs && umount -v /media/phil/usb-2part/ext2fs'
alias uclef2='umount -v /media/phil/usb-2part2/msdosfs && umount -v /media/phil/usb-2part2/ext2fs'
# linux:
alias dlinux0-boot='mount -v -r -t ext2fs /dev/ad4s2 $dlinux0'
alias dlinux0-deb='mount -v -r -t reiserfs /dev/ad4s5 $dlinux0'
alias dlinux0-debh='mount -v -r -t reiserfs /dev/ad4s6 $dlinux0'
alias dlinux0-opt='mount -v -r -t reiserfs /dev/ad4s7 $dlinux0'
alias dlinux0-smgl='mount -v -r -t reiserfs /dev/ad4s8 $dlinux0'
alias dlinux0-smglh='mount -v -r -t reiserfs /dev/ad4s9 $dlinux0'
alias dlinux0-lfs='mount -v -r -t reiserfs /dev/ad4s10 $dlinux0'
alias dlinux0-lfsh='mount -v -r -t reiserfs /dev/ad4s11 $dlinux0'
alias dlinux0-ub='mount -v -r -t ext3fs /dev/ad4s12 $dlinux0'
alias dlinux0-data='mount -v -r -t reiserfs /dev/ad4s13 $dlinux0'
alias dlinux1-boot='mount -v -r -t ext2fs /dev/ad4s2 $dlinux1'
alias dlinux1-deb='mount -v -r -t reiserfs /dev/ad4s5 $dlinux1'
alias dlinux1-debh='mount -v -r -t reiserfs /dev/ad4s6 $dlinux1'
alias dlinux1-opt='mount -v -r -t reiserfs /dev/ad4s7 $dlinux1'
alias dlinux1-smgl='mount -v -r -t reiserfs /dev/ad4s8 $dlinux1'
alias dlinux1-smglh='mount -v -r -t reiserfs /dev/ad4s9 $dlinux1'
alias dlinux1-lfs='mount -v -r -t reiserfs /dev/ad4s10 $dlinux1'
alias dlinux1-lfsh='mount -v -r -t reiserfs /dev/ad4s11 $dlinux1'
alias dlinux1-ub='mount -v -r -t ext3fs /dev/ad4s12 $dlinux1'
alias dlinux1-data='mount -v -r -t reiserfs /dev/ad4s13 $dlinux1'
alias udlinux0='umount -v $dlinux0'
alias udlinux1='umount -v $dlinux1'
alias data='mount -v /media/phil/Data'
alias udata='umount -v /media/phil/Data'
alias cddisquenix='cd /media/phil/disquenix'
alias cddisque0='cd /media/phil/disque0'
alias cddisque1='cd /media/phil/disque1'
alias cddisque2='cd /media/phil/disque2'
alias cdlinux='cd /media/phil/Data/Linux'
alias cdlinux0='cd /media/dlinux0'
alias cdlinux1='cd /media/dlinux1'
alias cddata='cd /media/phil/Data'

#snd_hda:
alias mixer80='mixer vol 80 && mixer pcm 80 && mixer monitor 80 && mixer ogain 80'
alias mixer85='mixer vol 85 && mixer pcm 85 && mixer monitor 85 && mixer ogain 85'
alias mixer90='mixer vol 90 && mixer pcm 90 && mixer monitor 90 && mixer ogain 90'
alias mixer95='mixer vol 95 && mixer pcm 95 && mixer monitor 95 && mixer ogain 95'
alias mixer0='mixer vol 0 && mixer pcm 0 && mixer monitor 0 && mixer ogain 0'
alias mixer75='mixer vol 75 && mixer pcm 75 && mixer monitor 75 && mixer ogain 75'
alias mixer100='mixer vol 100 && mixer pcm 100 && mixer monitor 100 && mixer ogain 100'

# exemple : ma touche HOME, cf man termcap, est codifiée K1 (upper left
# key on keyboard) dans le /etc/termcap. En me réferant a l'entrée
# correspondant à mon terminal (par exemple 'linux') dans ce fichier, je
# lis : K1=\E[1~, c'est la sequence de caractères qui sera envoyée au
# shell. La commande bindkey dit simplement au shell : à chaque fois que
# tu rencontres telle séquence de caractere, tu dois faire telle action.
# La liste des actions est disponible dans "man zshzle".

# Correspondance touches-fonction
bindkey '^A'    beginning-of-line       # Home
bindkey '^E'    end-of-line             # End
bindkey '^D'    delete-char             # Del
bindkey '^[[3~' delete-char             # Del
bindkey '^[[2~' overwrite-mode          # Insert
bindkey '^[[5~' history-search-backward # PgUp
bindkey '^[[6~' history-search-forward  # PgDn

export PS1="%{^[[37;1m%}%T%{^[[0m%} %{^[[32;1m%}%n%{^[[0m^[[33;1m%}@%{^[[37;1m%}%m %{^[[33;1m%}%~%{^[[0m^[[32;1m%}%#%{^[[0m%} "

# 3. 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'
setopt 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
# Si on utilise des jokers dans une liste d'arguments, retire les jokers
# qui ne correspondent à rien au lieu de donner une erreur
setopt nullglob

# Schémas de complétion

# - Schéma A :
# 1ère tabulation : complète jusqu'au bout de la partie commune
# 2ème tabulation : propose une liste de choix
# 3ème tabulation : complète avec le 1er item de la liste
# 4ème tabulation : complète avec le 2ème item de la liste, etc...
# -> c'est le schéma de complétion par défaut de zsh.

# Schéma B :
# 1ère tabulation : propose une liste de choix et complète avec le 1er item
#                   de la liste
# 2ème tabulation : complète avec le 2ème item de la liste, etc...
# Si vous voulez ce schéma, décommentez la ligne suivante :
#setopt menu_complete

# Schéma C :
# 1ère tabulation : complète jusqu'au bout de la partie commune et
#                   propose une liste de choix
# 2ème tabulation : complète avec le 1er item de la liste
# 3ème tabulation : complète avec le 2ème item de la liste, etc...
# Ce schéma est le meilleur à mon goût !
# Si vous voulez ce schéma, décommentez la ligne suivante :
unsetopt list_ambiguous
# (Merci à Youri van Rietschoten de m'avoir donné l'info !)

# 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
# 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
# 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

#
# 4. Paramètres de l'historique des commandes
#

# Nombre d'entrées dans l'historique
export HISTORY=100
export SAVEHIST=100
# Fichier où est stocké l'historique
export HISTFILE=$HOME/.history

#
# 5. 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

autoload -U compinit
compinit