Wiki Ordunix

Linux, FreeBSD, macOS, Windows et Histoire Informatique

Outils pour utilisateurs

Outils du site


wiki:download:nbsd:zshrc_user

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
wiki:download:nbsd:zshrc_user [2026/08/21 21:14] Thibault Seguinwiki:download:nbsd:zshrc_user [2026/08/21 21:19] (Version actuelle) – [Fichier .zshrc minimal] Thibault Seguin
Ligne 1: Ligne 1:
 ===== Fichier .zshrc minimal ===== ===== Fichier .zshrc minimal =====
 +<file>
 +# /etc/zsh/zshrc ou ~/.zshrc
 +# Fichier de configuration principal de zsh, lu au lancement des shells interactifs
 +# (et non des shells d'interprétation de fichier)
 +# Formation Debian GNU/Linux par Alexis de Lattre
 +# http://formation-debian.via.ecp.fr/
 +
 +################
 +# 1. Les alias #
 +################
 +
 +# Gestion du 'ls' : couleur & ne touche pas aux accents
 +# alias ls='ls --classify --tabsize=0 --literal --color=auto --show-control-chars --human-readable'
 +
 +# 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 md='mkdir'
 +alias rd='rmdir'
 +#alias upgrade='apt-get update && apt-get upgrade && apt-get clean'
 +
 +
 +#######################################
 +# 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 ''    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 '' delete-char
 +bindkey '' overwrite-mode          # Insert
 +bindkey '' history-search-backward # PgUp
 +bindkey '' history-search-forward  # PgDn
 +
 +# Prompt couleur (la couleur n'est pas la même pour le root et
 +# pour les simples utilisateurs)
 +if [ "`id -u`" -eq 0 ]; then
 +  export PS1="%{%}%T %{%}%n%{%}@%{%}%m %{%}%~ %{%}%#%{%} "
 +else
 +  export PS1="%{%}%T %{%}%n%{%}@%{%}%m %{%}%~ %{%}%#%{%} "
 +fi
 +
 +# 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
 +
 +
 +# Titre de la fenêtre d'un xterm
 +case $TERM in
 +   xterm*)
 +       precmd () {print -Pn "\e]0;%n@%m: %~\a"}
 +       ;;
 +esac
 +
 +# 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`"
 +  else
 +    eval "`dircolors`"
 +  fi
 +fi
 +
 +
 +###########################################
 +# 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 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
 +# 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=1000
 +export SAVEHIST=1000
 +
 +# Fichier où est stocké l'historique
 +export HISTFILE=$HOME/.history
 +
 +# Ajoute l'historique à la fin de l'ancien fichier
 +#setopt append_history
 +
 +# Chaque ligne est ajoutée dans l'historique à mesure qu'elle est tapée
 +setopt inc_append_history
 +
 +# Ne stocke pas  une ligne dans l'historique si elle  est identique à la
 +# précédente
 +setopt hist_ignore_dups
 +
 +# Supprime les  répétitions dans le fichier  d'historique, ne conservant
 +# que la dernière occurrence ajoutée
 +#setopt hist_ignore_all_dups
 +
 +# Supprime les  répétitions dans l'historique lorsqu'il  est plein, mais
 +# pas avant
 +setopt hist_expire_dups_first
 +
 +# N'enregistre  pas plus d'une fois  une même ligne, quelles  que soient
 +# les options fixées pour la session courante
 +#setopt hist_save_no_dups
 +
 +# 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
 +
 +
 +###########################################
 +# 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
 +
 +# Le logiciel autojump <https://github.com/joelthelion/autojump> fournit un
 +# moyen d'accéder rapidement aux répertoires fréquemment visités, en tapant
 +# simplement « j un_bout_du_nom_du_répertoire ». Si vous souhaitez l'utiliser,
 +# installez le paquet autojump et décommentez la ligne suivante :
 +#. /usr/share/autojump/autojump.sh
 +
 +
 +##################
 +## Ajouts Perso ##
 +##################
 +## Variables perso ##
 +#export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/pkg/sbin:/usr/pkg/bin:/usr/X11R7/bin:/usr/X11R6/bin:/usr/games:~/bin
 +#export PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R7/bin:/usr/X11R6/bin:/usr/pkg/bin:/usr/pkg/sbin:/usr/games:/usr/local/bin:/usr/local/sbin
 +export PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin:/usr/games:/usr/X11R7/bin:/usr/X11R7/bin:/home/$USER/.bin:/home/$USER/.local/bin
 +export EDITOR="/usr/pkg/bin/vim"
 +export PAGER="/usr/bin/less"
 +export  PAGER=/usr/bin/less
 +export  LANG=fr_FR.ISO8859-1
 +#export  LANG=fr_FR.UTF-8
 +#export LSCOLORS="gxfxcxdxbxegedabagacad"
 +
 +
 +## Alias perso ##
 +alias ls='colorls -FG'
 +#alias ls='ls -F'
 +alias la='ls -A'
 +alias ll='ls -l'
 +alias lla='ls -Al'
 +#alias l='ls -CF'
 +alias grep='grep --color=auto'
 +alias fgrep='fgrep --color=auto'
 +alias egrep='egrep --color=auto'
 +alias wi='which'
 +alias wr='whereis'
 +alias h='history'
 +#alias vi='vim'
 +alias pkg='pkgin'
 +alias mount_ext2fs='mount -t ext2fs'
 +alias pingbsd='ping www.bsd.org'
 +alias pinggoogle='ping www.google.fr'
 +alias lynxgoogle='lynx https://www.google.fr'
 +alias lynxddg='lynx https://duckduckgo.com/'
 +alias wgetippub="wget http://checkip.dyndns.org/ -O - -o /dev/null | cut -d: -f 2 | cut -d\< -f 1"
 +alias netstattcpudp='netstat -an | grep -v stream | grep -v dgram'
 +alias starxmate='startx /usr/pkg/bin/mate-session'
 +#alias ddliveusb='dd if=image.iso of=/dev/sda bs=1M conv=sync' ## Creer un live USB
 +#alias pkgin#
 +#alias pkglist='pkgin list'
 +#alias pkginstall='pkgin intall'
 +#alias pkgupdate='pkgin update'
 +#alias pkgremove='pkgin remove'
 +#alias pkgupgrade='pkgin upgrade'
 +#alias pkgfullupgrade='pkgin fullupgrade'
 +#alias pkgsearch='pkgin search'
 +#alias pkgclean='pkgin clean'
 +#alias pkgautoremove='pkgin autoremove'
 +#alias pkgstats='pkgin stats'
 +</file>
 +
 +===== Fichier .zshrc avec commande GNU Coreutils =====
 <file> <file>
 # /etc/zsh/zshrc ou ~/.zshrc # /etc/zsh/zshrc ou ~/.zshrc
wiki/download/nbsd/zshrc_user.1787346880.txt.gz · Dernière modification : de Thibault Seguin