From de6b36013efe77b4ad518f0dfdd3ec719eab0a22 Mon Sep 17 00:00:00 2001 From: Vincent Le Gallic Date: Thu, 9 May 2013 01:33:56 +0200 Subject: [PATCH] [exemples config] ajout de .bashrc et .bash_aliases --- config/.bash_aliases | 117 ++++++++++++++++++++++++ config/.bashrc | 212 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 329 insertions(+) create mode 100644 config/.bash_aliases create mode 100644 config/.bashrc diff --git a/config/.bash_aliases b/config/.bash_aliases new file mode 100644 index 0000000..b35113e --- /dev/null +++ b/config/.bash_aliases @@ -0,0 +1,117 @@ +# .bash_aliases générique mis à votre disposition +# par les gentils membres actifs du Cr@ns +# Vous pouvez l'utilisez, le redistribuer, le modifier à votre convenance. +# Des questions, des suggestions : {nounou,ca}@lists.crans.org +# Licence : WTFPL + +# Les sections commentées par #~# sont des features qui ne sont pas activées +# par défaut. Sentez-vous libre de les décommenter pour les utiliser. + +# +----------------+ +# | Aliases commun | +# +----------------+ + +# Demander confirmation avant écrasement ou suppression des fichiers/dossiers +alias rm='rm -i' +alias mv='mv -i' +alias cp='cp -i' + +# Afficher la taille des partitions en human-readable +alias df='df -h' + +# Affichage des couleurs automatiques +alias grep='grep --color=auto' +alias egrep='egrep --color=auto' +alias fgrep='fgrep --color=auto' +alias ls='ls --color=auto' + +# Alias ls +alias ll='ls -alFh' +alias la='ls -A' +alias l='ls -CF' + +## Souvenir de Windows +#alias cd..='cd ..' + +# parce que LS/sl c'est cool, mais qu'on veut pouvoir l'interrompre +alias sl='sl -e' +alias LS='LS -e' + + +# +-----+ +# | ssh | +# +-----+ + +# Pour que ssh-add ne mémorise la passphrase que pendant 30 minutes +alias sshadd='ssh-add -t 1800' + +#~# # Tunnels (pour les membres actifs) +#~# alias sshimprimante="echo -e 'Port : 2222\nRappel : http://localhost:2222';ssh -L 2222:imprimante.adm.crans.org:80 vo" +#~# alias sshbabar="echo -e 'Port : 3333\nRappel : http://localhost:3333/backuppc';ssh -L 3333:babar.adm.crans.org:80 vo" + +#~# # +----------------------+ +#~# # | AltGr+Space is wrong | +#~# # +----------------------+ +#~# +#~# # Workaround crade : +#~# # Permet d'aliaser les commandes dans lesquelles on pipe usuellement +#~# # pour qu'elle marche aussi quand elles sont précédées d'une espace insécable. +#~# +#~# for commande in grep egrep fgrep wc tail head less +#~# do +#~# alias  $commande=$commande +#~# done + + +# +--------------------------------------+ +# | Gestion de variables d'environnement | +# +--------------------------------------+ + +#~# # Pour loader en mémoire la variable qui empêche less de breaker les lignes +#~# # très utile pour les sorties psql +#~# alias exportless="export LESS='-S'" + + +# +-------+ +# | softs | +# +-------+ +# Des raccourcis pour appeler des logiciels avec des options supplémentaires + +#~# # Pour que youtube-dl récupère seulement l'audio, et en MP3 s'il vous plait +#~# alias youtube-dl='youtube-dl --extract-audio -t --audio-format=mp3' + +#~# # Pour avoir les diff sous format git-like +#~# alias diff='diff -u' +#~# alias colordiff='colordiff -u' + +#~# # Pour que mtr n'utilise pas l'interface graphique +#~# alias mtr='mtr -t' + +# +--------+ +# | Divers | +# +--------+ + +#~# # Pour se débarasser rapidement des fichier garbage +#~# # C'est typiquement là où il faut rajouter vos extensions persos ! +#~# alias rmtilde='rm -f *~ .*~' +#~# alias rm~=rmtilde +#~# alias rmpyc='rm -f *.pyc' +#~# alias rmccompiled='rm -f *.o *.h' +#~# alias rmso='rm -f *.so' +#~# alias rmclass='rm -f *.class' + +#~# # Pour récupérer les droits d'un fichier en octal +#~# alias getmod='/usr/bin/stat -c "%a"' + +# Pour trouver les pages des pdfs du dossier courrant +alias pdfpages="find . -name '*.pdf' -exec pdfinfo {} \; | egrep '^Pages'" +# et pour les sommer +alias pdfpagessum='pdfpages | awk "{print \$2}" | paste -sd+ | bc' + + +# +------------+ +# | Cool stuff | +# +------------+ + +# A♡ !!! +alias a♡tv='cvlc udp://@239.231.140.230:1337' diff --git a/config/.bashrc b/config/.bashrc new file mode 100644 index 0000000..c1f5a4c --- /dev/null +++ b/config/.bashrc @@ -0,0 +1,212 @@ +# .bashrc générique mis à votre disposition +# par les gentils membres actifs du Cr@ns +# Vous pouvez l'utilisez, le redistribuer, le modifier à votre convenance. +# Des questions, des suggestions : {nounou,ca}@lists.crans.org +# Licence : WTFPL + +# Les sections commentées par #~# sont des features qui ne sont pas activées +# par défaut. Sentez-vous libre de les décommenter pour les utiliser. + +# Pour les shells non interactif (sous emacs, avec rcp, ...) +# on ne charge pas le .bashrc +[ -z "$PS1" -o "$TERM" = dumb ] && return + +# Hack pour que $COLUMNS contienne le nombre de colonne du terminal +# Sinon, le prompt kikoo risque de déborder/être trop court +COLUMNS=$(tput cols) +shopt -s checkwinsize + +# +-------------------------+ +# | Customizations diverses | +# +-------------------------+ + +# Utilisation de lesspipe comme PAGER si il est présent +[[ -x /usr/bin/lesspipe ]] && eval "$(lesspipe)" + +# Couleur pour certaines commandes (ls, …) +if [ -x /usr/bin/dircolors ]; then + test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" +fi + +# Bash-complétion +[ -f /etc/bash_completion ] && . /etc/bash_completion +# Placez vos fichiers de bash-complétion custom dans ~/.bash_completion.d/ +# ils seront chargés par la ligne suivante +[ -d ~/.bash_completion.d/ ] && for f in ~/.bash_completion.d/*; do source $f; done + + +#~# # +-----+ +#~# # | VCS | +#~# # +-----+ +#~# +#~# # Définition de fonction pour pouvoir afficher dans le prompt +#~# # des infos quand on est dans un dépôt versionné +#~# +#~# get_vcs_info () { +#~# # Donne les infos sur le dépôt VCS courant. +#~# # priorité à git, puis darcs +#~# local BRANCH TYPE violet orange vert +#~# violet="\[\e[35m\]" +#~# orange="\[\e[33m\]" +#~# vert="\[\e[32m\]" +#~# nocolor="\[\e[0m\]" +#~# BRANCH=$(git branch 2>/dev/null | sed -r "s/^[^*].*$//" | paste -s -d '' | sed -r "s/^[*] //") +#~# if [ -n "$BRANCH" ]; +#~# then +#~# TYPE="git" +#~# else +#~# BRANCH=$(darcs show repo 2>/dev/null| egrep '^ *Cache' | sed 's@.*/\([^/]*\),.*@\1@') +#~# if [ -n "$BRANCH" ]; +#~# then +#~# TYPE="darcs" +#~# fi +#~# fi +#~# if [ -n "$TYPE" ]; +#~# then +#~# VCS_info="${nocolor}${violet}(${nocolor}$TYPE${violet})-${violet}[${vert}$BRANCH${violet}]${nocolor}" +#~# VCS_size=$((${#TYPE}+${#BRANCH}+5)) +#~# else +#~# VCS_info="" +#~# VCS_size=0 +#~# fi +#~# } + +### Attention à ce que vous éditez dans cette section ### +### v v v v v v v v v v ### +# +----------------------+ +# | Génération du prompt | +# +----------------------+ + + +# Génération de la ligne de "-" +function gen_minus_line +{ + local i + + MINUS_LINE="" + SAVE_COLUMNS=$COLUMNS + + for ((i = COLUMNS-23; i>0; i--)); do + MINUS_LINE=$MINUS_CHAR$MINUS_LINE + done +} + +# Génération du prompt après chaque commande +function prompt_command +{ + # Attention aux hacks pour que la couleur (et sa taille) + # soient évaluées au moment de l'affichage du prompt + local pwd cyan violet jaune rouge vert bleu ERR DATE PROMPT DIR POST_DIR + (( SAVE_COLUMNS == COLUMNS )) || gen_minus_line + get_vcs_info + + cyan='\[\e[1;36m\]' + violet='\[\e[1;35m\]' + jaune='\[\e[1;33m\]' + rouge='\[\e[1;31m\]' + vert='\[\e[1;32m\]' + bleu='\[\e[1;34m\]' + nocolor='\[\e[0m\]' + + pwd=${PWD/#$HOME/'~'} + if (( ${#pwd} + ${VCS_size} + 27 > COLUMNS )); then + if (( COLUMNS >= 33 )); then + DIR='..'${pwd:${#pwd}+${VCS_size}+30-COLUMNS} + POST_DIR='${MINUS_LINE:0:4-${#?}}' + else + DIR=$pwd + POST_DIR=$MINUS_CHAR + fi + else + DIR=$pwd + POST_DIR='${MINUS_LINE:'${#pwd}+${VCS_size}+1'+${#?}}' + fi + DIR="< ${jaune}"$DIR"${cyan} >" + ERR='[ \[\e[1;$((31+($?==0)*6))m\]$?'${cyan}' ]'$MINUS_CHAR + DATE="( ${violet}\D{%H:%M:%S}${cyan} )" + PROMPT="${rouge}\u${vert}@${bleu}\h ${vert}\$ ${nocolor}" + PS1=$TITLE${cyan}$MINUS_CHAR$DATE$MINUS_CHAR$DIR$MINUS_CHAR$VCS_info${cyan}$POST_DIR$ERR'\n'$PROMPT +} + +# On change le titre de la fenêtre dynamiquement si on est sous X +if [[ $TERM = "xterm" ]]; then + TITLE='\[\e];\u@\h:\w\a\]' +else + TITLE='' +fi + +# On regénére le prompt après chaque commande +PROMPT_COMMAND=prompt_command + +# +-------------------+ +# | Messages au début | +# +-------------------+ + +if [[ $(uname) == Linux && ( $(locale charmap) == UTF-8 && $TERM != screen ) ]]; then + MINUS_CHAR=─ + gen_minus_line + date=$(/bin/date +"%R, %A %d %B %Y") + redate=${date//é/e} + redate=${redate//û/u} + echo -e "\e[1;36m┬─${redate//?/─}──┬${MINUS_LINE:${#date}-18}\n\ +│ \e[1;37m$date\e[1;31m \e[1;36m │\n\ +└─${redate//?/─}──┘\e[0m\n" + unset date +else + MINUS_CHAR=- + gen_minus_line +fi +### ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ### +### Attention à ce que vous avez édité dans cette section ### + + +# +---------------------------------------+ +# | Gestion de l'historique des commandes | +# +---------------------------------------+ + +# On ne sauve pas les lignes dupliquées qui se suivent dans l'historique +# ainsi que les commandes qui commencent par une espace +export HISTCONTROL=ignoreboth + +# Nombre de lignes d'historique à garder +export HISTSIZE=5000 + +# la même chose dans le fichier d'historique +export HISTFILESIZE=5000 + +# Mémoriser le timestamp d'exécution de la commande +export HISTTIMEFORMAT='%F %T - ' + +# pour sauvegarder les commandes de plusieurs lignes (\ ) en une seule +shopt -s cmdhist +# pour enregistrer tout de suite les commandes dans l'historique +# et non pas à la fermeture du shell +shopt -s histappend + + +# +---------------+ +# | Environnement | +# +---------------+ + +# Pour éviter un troll, aucune ligne de cette section n'est décommentée. +# Choisissez la vôtre. +#~# export EDITOR='/usr/bin/nano' +#~# export EDITOR='/usr/bin/vim' +#~# export EDITOR='/usr/bin/emacs' +#~# export EDITOR='/usr/bin/jed' + +# Ajouter ~/bin, /sbin et /usr/sbin à son PATH +PATH=~/bin:$PATH:/sbin:/usr/sbin + +# Chargement des alias +if [ -f ~/.bash_aliases ]; then + . ~/.bash_aliases +fi + +# Fichier locaux (utile quand on clone sa config sur plusieurs machines) +[[ -f ~/.bashrc.local ]] && . ~/.bashrc.local + +if [ -f ~/.bash_aliases_local ]; then + . ~/.bash_aliases_local +fi + -- 2.39.2