screenrc et zshrc

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).

.zshrc

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

.screenrc

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

Commentaires désactivés.