Une petite brève pour partager mes fichiers de configuration, que ce soit pour zsh (un shell unix comme bash) ou screen (permet d'avoir plusieurs sessions de terminal à l'intérieur d'un seul terminal).
J'ai allégrement pompé ce zshrc sur le net, et puis quelques ajouts par ci par là..
PATH=$PATH:/opt/sbin:/opt/bin
#echo "(\___/)\n(=*.*=) Bienvenue Hells_Dark\n('')('')"
#echo " "
echo "Never take life too seriously, nobody gets out alive."
echo " "
# /etc/zsh/zshrc ou ~/.zshrc
# Fichier de configuration principal de zsh
# Formation Debian GNU/Linux par Alexis de Lattre
# http://formation-debian.via.ecp.fr/
#
# 1. Les alias
#
# Mises à jour
alias upgrade='sudo aptitude update;sudo aptitude upgrade'
alias add='sudo aptitude install'
alias remove='sudo aptitude remove'
alias get='aptitude search'
# Gestion du ls : couleur + touche pas aux accents
alias ls='ls --classify --tabsize=0 --literal --color=auto --show-control-chars --human-readable'
# Gestion du grep : couleur
alias grep='grep --color=auto'
# Demande confirmation avant d'écraser un fichier
alias cp='cp --interactive'
alias mv='mv --interactive'
alias rm='rm --interactive'
# 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 df='df --human-readable'
alias du='du --human-readable'
alias m='mutt -y'
alias exe='chmod +x'
alias md='source md'
# Extraction
extract () {
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xjf $1 ;;
*.tar.gz) tar xzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) rar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xf $1 ;;
*.tbz2) tar xjf $1 ;;
*.tgz) tar xzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1 ;;
*.7z) 7z x $1 ;;
*) echo "'$1' cannot be extracted via extract()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}
# Alias fichiers
alias sources.list='sudo gedit /etc/apt/sources.list'
alias menu.lst='sudo gedit /boot/grub/menu.lst'
#
# 2. 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 '^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
' end-of-line # Endekward # PgUp
fibindkey '6~' history-search-forward # PgDn
# gnome-terminal (la couleur n'est pas la même pour le root et
if [ "$COLORTERM" = "gnome-terminal" ]
then "`id -u`" -eq 0 ]; then
# Correspondance touches-fonction spécifique}%~%{%}%#%{%} "
bindkey '^[OH' beginning-of-line # Home
bindkey '^[OF' end-of-line # End%~%{%}%#%{%} "
fi
# Gestion de la couleur pour 'ls' (exportation de LS_COLORS)
if [ -x /usr/bin/dircolors ]TERM" = "screen" -o "$TERM" = "rxvt" ]
then
if [ -r ~/.dir_colors ]s-fonction spécifique
thenkey '[1~' beginning-of-line # Home
eval "`dircolors ~/.dir_colors`" # End
elif [ -r /etc/dir_colors ]
then
eval "`dircolors /etc/dir_colors`"
else$TERM" = "xterm" ]
eval "`dircolors`"
fiCorrespondance touches-fonction spécifique
fibindkey '
#
# 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
Un screenrc tout simple !
# skip the startup message
startup_message off
# look and feel
hardstatus string "%{+b wR}%w"
hardstatus alwayslastline
# screensaver ^^
idle 420 eval "screen cmatrix -f -o -u 10" "idle 0"
# Programs
screen -t shell zsh
screen -t chat irssi
screen -t torrents rtorrent
select 0
Je ne pense pas qu'il y ait beaucoup de valeur ajoutée là dedans, mais j'ai pas envie de perdre ces petits fichiers.
23/08/08, 19:56
Commentaires désactivés.