shopt -s checkwinsize #Pour pas s'écrire dessus shopt -s histappend shopt -s autocd #No more cd xx shopt -s cdspell #drain bramage shopt -s dirspell ##shopt -s autocd #Like zsh PROMPT_COMMAND='history -a' set -o vi ############### #### ALIAS #### ############### # {{{ alias k='kubectl' alias klks='kubectl -n kube-system' alias dockre='docker' alias dokcer='docker' alias ..='cd ..' alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' alias vm='mv -i' if [ "$TERM" != "dumb" ]; then eval "`dircolors -b`" alias ls='ls --color=auto -N' fi alias la='ls -lahN' alias sudp='sudo' #fuck tpyos :p alias sudpo='sudo' alias grep='grep --color' alias bim='vim' alias vi='vim' alias VIM='vim' alias ivm='vim' alias vmi='vim' alias makew='make' alias mkae='make' alias amke='make' alias mak='make' alias amek='make' alias shm='cd /dev/shm' alias arc='tig' alias ack='rg' # }}} ############### ## FONCTIONS ## ############### # {{{ function cd #{{{ { MY_LAST=`pwd` if [ $# -eq 0 ]; then builtin cd ~ && cons_set > /dev/null && ls else builtin cd "$*" && cons_set > /dev/null && ls fi } #}}} function back { cd $MY_LAST } function mkcd #{{{ { mkdir -p "$@" cd "$@" } # }}} #CONS(OLE) function, a pretty useful functions that keeps track of # the lasts whereabouts (in terms of folders) of the terminal CONS_ROOT_DIRECTORY=/dev/shm/cons_$USER function cons { if [ ! -d $CONS_ROOT_DIRECTORY ]; then mkdir $CONS_ROOT_DIRECTORY fi; if [ $# -eq 0 ]; then for f in $CONS_ROOT_DIRECTORY/*; do echo -e "`echo $f|rev|cut -d/ -f1|rev` >>\n\t`cat $f`" #XXX basename done elif [ $# -eq 1 ]; then if [ -e $CONS_ROOT_DIRECTORY/$1 ]; then cd $(cat $CONS_ROOT_DIRECTORY/$1) else echo $1 does not exist fi; fi; } function cons_set { TTY=$(tty) if [ ! -d $CONS_ROOT_DIRECTORY ]; then mkdir $CONS_ROOT_DIRECTORY fi; TTYNO=`echo $TTY | cut -d/ -f 4` pwd > $CONS_ROOT_DIRECTORY/$TTYNO } ############### ### EXPORTS ### ############### # {{{ export EDITOR="vim" export HISTCONTROL=erasedups export HISTSIZE=99999999 HISTTIMEFORMAT="%d/%m/%y %T " # }}} # vim: set filetype=sh # Reset Color_Off="\[\033[0m\]" # Text Reset # Regular Colors Black="\[\033[0;30m\]" # Black Red="\[\033[0;31m\]" # Red Green="\[\033[0;32m\]" # Green Yellow="\[\033[0;33m\]" # Yellow Blue="\[\033[0;34m\]" # Blue Purple="\[\033[0;35m\]" # Purple Cyan="\[\033[0;36m\]" # Cyan White="\[\033[0;37m\]" # White # Bold BBlack="\[\033[1;30m\]" # Black BRed="\[\033[1;31m\]" # Red BGreen="\[\033[1;32m\]" # Green BYellow="\[\033[1;33m\]" # Yellow BBlue="\[\033[1;34m\]" # Blue BPurple="\[\033[1;35m\]" # Purple BCyan="\[\033[1;36m\]" # Cyan BWhite="\[\033[1;37m\]" # White # Underline UBlack="\[\033[4;30m\]" # Black URed="\[\033[4;31m\]" # Red UGreen="\[\033[4;32m\]" # Green UYellow="\[\033[4;33m\]" # Yellow UBlue="\[\033[4;34m\]" # Blue UPurple="\[\033[4;35m\]" # Purple UCyan="\[\033[4;36m\]" # Cyan UWhite="\[\033[4;37m\]" # White # Background On_Black="\[\033[40m\]" # Black On_Red="\[\033[41m\]" # Red On_Green="\[\033[42m\]" # Green On_Yellow="\[\033[43m\]" # Yellow On_Blue="\[\033[44m\]" # Blue On_Purple="\[\033[45m\]" # Purple On_Cyan="\[\033[46m\]" # Cyan On_White="\[\033[47m\]" # White # High Intensty IBlack="\[\033[0;90m\]" # Black IRed="\[\033[0;91m\]" # Red IGreen="\[\033[0;92m\]" # Green IYellow="\[\033[0;93m\]" # Yellow IBlue="\[\033[0;94m\]" # Blue IPurple="\[\033[0;95m\]" # Purple ICyan="\[\033[0;96m\]" # Cyan IWhite="\[\033[0;97m\]" # White # Bold High Intensty BIBlack="\[\033[1;90m\]" # Black BIRed="\[\033[1;91m\]" # Red BIGreen="\[\033[1;92m\]" # Green BIYellow="\[\033[1;93m\]" # Yellow BIBlue="\[\033[1;94m\]" # Blue BIPurple="\[\033[1;95m\]" # Purple BICyan="\[\033[1;96m\]" # Cyan BIWhite="\[\033[1;97m\]" # White # High Intensty backgrounds On_IBlack="\[\033[0;100m\]" # Black On_IRed="\[\033[0;101m\]" # Red On_IGreen="\[\033[0;102m\]" # Green On_IYellow="\[\033[0;103m\]" # Yellow On_IBlue="\[\033[0;104m\]" # Blue On_IPurple="\[\033[10;95m\]" # Purple On_ICyan="\[\033[0;106m\]" # Cyan On_IWhite="\[\033[0;107m\]" # White # Various variables you might want for your PS1 prompt instead Time12h="\T" Time12a="\@" PathShort="\w" PathFull="\W" NewLine="\n" Jobs="\j" __git_ps1 () { local b="$(git symbolic-ref HEAD 2>/dev/null)"; if [ -n "$b" ]; then printf " (%s)" "${b##refs/heads/}"; fi } IntroCol=$BIPurple; PROMPT_COMMAND=__prompt_command __prompt_command() { local EXIT="$?" PS1="$On_Blue(\h)$Color_Off" if [ $EXIT -eq 0 ]; then PS1+="✔️" else PS1+="❌" fi if [ -n "$VIRTUAL_ENV" ]; then PS1+="(🧙)" fi PS1+=" " PS1+="$IntroCol$Time12h$Color_Off" git branch &>/dev/null if [ $? -eq 0 ]; then #In repo git status | grep 'nothing to commit' >/dev/null 2>&1 if [ $? -eq 0 ]; then PS1+="$Green"$(__git_ps1 " (%s)") else PS1+="$IRed"$(__git_ps1 " {%s}") fi PS1+="$BYellow$PathShort$Color_Off" else PS1+=" $Yellow$PathShort$Color_Off\$ " fi if [[ "$KUBECONFIG" =~ (.*pikprod.*|.*rapace.*) ]]; then PS1+="${URed}PIKPROD !!${Color_Off}" fi PS1+="\n" }