refactor(install): changement dans la structure

This commit is contained in:
Anael Ginder
2026-09-18 15:40:28 +02:00
parent 064e1bcaa5
commit 83a78c098b
7 changed files with 184 additions and 92 deletions
+220
View File
@@ -0,0 +1,220 @@
# /etc/zshrc ou ~/.zshrc
# Fichier de configuration principal de zsh
# Formation Debian GNU/Linux par Alexis de Lattre
# http://www.via.ecp.fr/~alexis/formation-linux/
#
# 2. Prompt et Dfinition 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".
# Un charset franais
export LESSCHARSET="UTF-8"
# Correspondance touches-fonction
bindkey '^A' beginning-of-line # Home
bindkey '^E' end-of-line # End
bindkey '^D' delete-char # Del
bindkey '^U' backward-kill-line # Override kill-whole-line
#bindkey '^W' kill-region # Override backward-kill-word
bindkey '[3~' delete-char # Del
bindkey '[2~' overwrite-mode # Insert
bindkey '[5~' history-search-backward # PgUp
bindkey '[6~' history-search-forward # PgDn
bindkey '^[[1;5D' backward-word # Ctrl + gauche
bindkey '^[[1;5C' forward-word # Ctrl + droite
# Prompt couleur (la couleur n'est pas la mme pour le root et
# pour les simples utilisateurs)
if [[ "$(whoami)" =~ (_adm@ad(-dev|).perf1.net$|^root$)$ ]]; then
export PS1="%{%}%T%{%} %{%}%n%{%}@%{%}%m %{%}%~%{%}%#%{%} "
else
export PS1="%{%}%T%{%} %{%}%n%{%}@%{%}%m %{%}%~%{%}%#%{%} "
fi
# Console linux, dans un screen ou un rxvt
if [ "$TERM" = "linux" -o "$TERM" = "screen" -o "$TERM" = "rxvt" ]
then
# Correspondance touches-fonction spcifique
bindkey '[1~' beginning-of-line # Home
bindkey '[4~' end-of-line # End
fi
# xterm
if [ "$TERM" = "xterm" ]
then
# Correspondance touches-fonction spcifique
bindkey '' beginning-of-line # Home
bindkey '' end-of-line # End
fi
# 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`"
elif [ -r /etc/dir_colors ]
then
eval "`dircolors /etc/dir_colors`"
fi
fi
#
# 3. Options de zsh (cf 'man zshoptions')
#
# Pour UTF8
setopt printeightbit
# Pour UTF8
setopt printeightbit
# Je ne veux JAMAIS de beeps
unsetopt beep
unsetopt hist_beep
unsetopt list_beep
# >| doit tre utiliss pour pouvoir craser un fichier dj existant ;
# le fichier ne sera pas cras avec '>'
setopt clobber
# Ctrl+D est quivalent 'logout'
unsetopt ignore_eof
# Affiche le code de sortie si diffrent de '0'
setopt print_exit_value
# Demande confirmation pour 'rm *'
unsetopt rm_star_silent
# Correction orthographique des commandes
# Dsactiv car, contrairement ce que dit le "man", il essaye de
# corriger les commandes avant de les hasher
#setopt correct
# Schmas de compltion
# - Schma A :
# 1re tabulation : complte jusqu'au bout de la partie commune
# 2me tabulation : propose une liste de choix
# 3me tabulation : complte avec le 1er item de la liste
# 4me tabulation : complte avec le 2me item de la liste, etc...
# -> c'est le schma de compltion par dfaut de zsh.
# Schma B :
# 1re tabulation : propose une liste de choix et complte avec le 1er item
# de la liste
# 2me tabulation : complte avec le 2me item de la liste, etc...
# Si vous voulez ce schma, dcommentez la ligne suivante :
#setopt menu_complete
# Schma C :
# 1re tabulation : complte jusqu'au bout de la partie commune et
# propose une liste de choix
# 2me tabulation : complte avec le 1er item de la liste
# 3me tabulation : complte avec le 2me item de la liste, etc...
# Je n'ai malheureusement jamais russi mettre en place ce schma
# alors qu'il me parat tre le schma idal !
# Si vous savez comment faire a avec zsh -> alexis@via.ecp.fr
# Options de compltion
# Quand le dernier caractre d'une compltion est '/' et que l'on
# tape 'espace' aprs, le '/' est effa
setopt auto_remove_slash
# Fait la compltion sur les fichiers et rpertoires cachs
setopt glob_dots
# Traite les liens symboliques comme il faut
setopt chase_links
# Quand l'utilisateur commence sa commande par '!' pour faire de la
# compltion historique, il n'excute pas la commande immdiatement
# mais il crit la commande dans le prompt
setopt hist_verify
# Si la commande est invalide mais correspond au nom d'un sous-rpertoire
# excuter 'cd sous-rpertoire'
setopt auto_cd
# L'excution de "cd" met le rpertoire 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 aprs un "pushd" ou "popd"
setopt pushd_silent
# "pushd" sans argument = "pushd $HOME"
setopt pushd_to_home
# Les jobs qui tournent en tche de fond sont nic '0'
unsetopt bg_nice
# N'envoie pas de "HUP" aux jobs qui tourent quand le shell se ferme
unsetopt hup
## AUTRES OPTIONS
setopt correct # correction des commandes
setopt correct_all # correction des arguments
setopt hist_ignore_dups # vire les commandes en double
unsetopt hist_ignore_space # n'ignore pas les espaces dans l'his.
setopt hist_no_store # n'enregistre pas la cmd history
## FAUX ALIAS #############
function lsgrep () {
ls -1 | grep $* | xargs ls -la
}
#########
ltgz() # Lister le contenu d'une archive .tar.gz
{
for file in $* ; do
gzip -dc ${file} | tar tf -
done
}
########
ctgz() # Crer une archive .tgz la zip.
{
name=$1 ; tar -cvf $1 ; shift
tar -rf ${name} $*
gzip -S .tgz ${name}
}
#########
inst() # Installer une archive .tar.gz dans le repertoire courant
{
gzip -dc $1 | tar xvf -
}
## END OF FAUX ALIAS #############
#
# 4. Paramtres de l'historique des commandes
#
# Nombre d'entres dans l'historique
export HISTORY=10000
export SAVEHIST=10000
# Fichier o est stock l'historique
export HISTFILE=$HOME/.zshistory
#
# 5. Compltion des options des commandes
#
zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}'
zstyle ':completion:*' max-errors 3 numeric
zstyle ':completion:*' use-compctl false
#----------------{ Modules
source_or_die() { [[ -f $1 ]] && . $1 } # Super fonction made in Jedi
source_or_die ~/.zshalias # Les alias
source_or_die ~/.zshcomplete # Les completions
source_or_die ~/.zshsite # Les trucs specifiques au site
source_or_die ~/.zsh.$OSTYPE # Les trucs specifiques a l'OS
source_or_die ~/.myzshrc # Votre propre .zshrc
source_or_die ~/.myzshalias # Vos alias supplementaires
source_or_die ~/.myzshcomplete # Vos regles de completion
source_or_die ~/.myzsh.$OSTYPE # Vos trucs specifiques a l'OS
source_or_die ~/.zshrc.local # Perso an.ginder
source_or_die ~/.zshrc.perso # Perso
print
autoload -U +X bashcompinit && bashcompinit