Refactoring bashrc
This commit is contained in:
parent
fc2d7aa952
commit
ab46714371
138
_bashrc
138
_bashrc
@ -1,10 +1,8 @@
|
||||
# ~/.bashrc: executed by bash(1) for non-login shells.
|
||||
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
|
||||
# for examples
|
||||
|
||||
# If not running interactively, don't do anything
|
||||
[ -z "$PS1" ] && return
|
||||
|
||||
##### VARIABLES #####
|
||||
|
||||
# don't put duplicate lines in the history. See bash(1) for more options
|
||||
export HISTCONTROL=ignoredups
|
||||
# ... and ignore same sucessive entries.
|
||||
@ -12,29 +10,28 @@ export HISTCONTROL=ignoreboth
|
||||
# size
|
||||
export HISTSIZE=10000
|
||||
export HISTFILESIZE=100000
|
||||
# navigateur prefere
|
||||
export BROWSER=firefox
|
||||
# editeur par defaut
|
||||
export EDITOR=vim
|
||||
export VISUAL=$EDITOR
|
||||
# pager man conserve affichage à l'écran
|
||||
export MANPAGER="less -X"
|
||||
# youtube dl default dl dir FIXME default in youtube
|
||||
export YDL_TARGET=$HOME
|
||||
|
||||
# check the window size after each command and, if necessary,
|
||||
# update the values of LINES and COLUMNS.
|
||||
shopt -s checkwinsize
|
||||
##### COLORS #####
|
||||
|
||||
# make less more friendly for non-text input files, see lesspipe(1)
|
||||
#[ -x /usr/bin/lesspipe ] && eval "$(lesspipe)"
|
||||
|
||||
# set variable identifying the chroot you work in (used in the prompt below)
|
||||
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
|
||||
debian_chroot=$(cat /etc/debian_chroot)
|
||||
# ls colors
|
||||
export LSCOLORS="ExGxFxdxCxDxDxhbadExEx"
|
||||
# enable color support of ls and also add handy aliases
|
||||
if [ "$TERM" != "dumb" ]; then
|
||||
[ -x /usr/bin/dircolors ] && eval "`dircolors -b`"
|
||||
fi
|
||||
|
||||
# set a fancy prompt (non-color, unless we know we "want" color)
|
||||
case "$TERM" in
|
||||
xterm-color)
|
||||
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
|
||||
;;
|
||||
*)
|
||||
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
|
||||
;;
|
||||
esac
|
||||
##### FUNCTIONS #####
|
||||
|
||||
# status indicator
|
||||
prompt_status()
|
||||
{
|
||||
if [[ "$?" == "0" ]]
|
||||
@ -45,8 +42,35 @@ prompt_status()
|
||||
fi
|
||||
echo -n '\[\033[1;31m\]'
|
||||
}
|
||||
# Prompt
|
||||
PS1="\[\033[1;31m\]>> \[\033[01;37m\](\[\033[0;37m\]\u@\[\033[0;32m\]\h\[\033[01;37m\]) \[\033[01;34m\]\w\[\033[00m\]\n\[\033[1;31m\]$(prompt_status)>\[\033[0;37m\] "
|
||||
|
||||
##### INCLUDES #####
|
||||
|
||||
# Alias definitions.
|
||||
if [ -f ~/.bash_aliases ]; then
|
||||
. ~/.bash_aliases
|
||||
fi
|
||||
# host specific
|
||||
if [ -f ~/.bash_aliases_$(hostname -s) ]; then
|
||||
. ~/.bash_aliases_$(hostname -s)
|
||||
fi
|
||||
|
||||
# enable programmable completion features (you don't need to enable
|
||||
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
|
||||
# sources /etc/bash.bashrc).
|
||||
if [ -f /etc/bash_completion ]; then
|
||||
. /etc/bash_completion
|
||||
fi
|
||||
# FreeBSD
|
||||
[[ $PS1 && -f /usr/local/share/bash-completion/bash_completion.sh ]] && \
|
||||
source /usr/local/share/bash-completion/bash_completion.sh
|
||||
|
||||
##### MISC #####
|
||||
|
||||
# check the window size after each command and, if necessary,
|
||||
# update the values of LINES and COLUMNS.
|
||||
shopt -s checkwinsize
|
||||
# conserve l'historique lorsque l'on utilise plusieurs terminaux
|
||||
shopt -s histappend
|
||||
|
||||
# If this is an xterm set the title to user@host:dir
|
||||
case "$TERM" in
|
||||
@ -57,61 +81,20 @@ xterm*|rxvt*)
|
||||
;;
|
||||
esac
|
||||
|
||||
# Alias definitions.
|
||||
# You may want to put all your additions into a separate file like
|
||||
# ~/.bash_aliases, instead of adding them here directly.
|
||||
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
|
||||
|
||||
if [ -f ~/.bash_aliases ]; then
|
||||
. ~/.bash_aliases
|
||||
fi
|
||||
# host specific
|
||||
if [ -f ~/.bash_aliases_$(hostname -s) ]; then
|
||||
. ~/.bash_aliases_$(hostname -s)
|
||||
# Tmux + ssh agent forwarding
|
||||
if [ -S "$SSH_AUTH_SOCK" ] && [ ! -h "$SSH_AUTH_SOCK" ]; then
|
||||
ln -sf "$SSH_AUTH_SOCK" ~/.ssh/ssh_auth_sock
|
||||
fi
|
||||
export SSH_AUTH_SOCK=~/.ssh/ssh_auth_sock
|
||||
|
||||
# enable color support of ls and also add handy aliases
|
||||
if [ "$TERM" != "dumb" ]; then
|
||||
[ -x /usr/bin/dircolors ] && eval "`dircolors -b`"
|
||||
#alias dir='ls --color=auto --format=vertical'
|
||||
#alias vdir='ls --color=auto --format=long'
|
||||
fi
|
||||
##### PROMPT #####
|
||||
|
||||
# enable programmable completion features (you don't need to enable
|
||||
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
|
||||
# sources /etc/bash.bashrc).
|
||||
if [ -f /etc/bash_completion ]; then
|
||||
. /etc/bash_completion
|
||||
fi
|
||||
PS1_pre="\[\033[1;31m\]>> \[\033[01;37m\](\[\033[0;37m\]\u@\[\033[0;32m\]\h\[\033[01;37m\]) \[\033[01;34m\]\w\[\033[00m\]"
|
||||
PS1_post="\[\033[1;31m\]$(prompt_status)>\[\033[0;37m\] "
|
||||
PS1="${PS1_pre}\n${PS1_post}"
|
||||
|
||||
# navigateur prefere
|
||||
export BROWSER=firefox
|
||||
##### GIT #####
|
||||
|
||||
# conserve l'historique lorsque l'on utilise plusieurs terminaux
|
||||
shopt -s histappend
|
||||
|
||||
# editeur par defaut
|
||||
export EDITOR=vim
|
||||
export VISUAL=$EDITOR
|
||||
|
||||
# mutt background fix
|
||||
COLORFGBG="default;default"
|
||||
|
||||
# pager man conserve affichage à l'écran
|
||||
export MANPAGER="less -X"
|
||||
|
||||
# ls colors
|
||||
export LSCOLORS="ExGxFxdxCxDxDxhbadExEx"
|
||||
|
||||
# youtube dl default dl dir
|
||||
export YDL_TARGET=$HOME
|
||||
|
||||
# host specific
|
||||
if [ -f ~/.bashrc_$(hostname -s) ]; then
|
||||
. ~/.bashrc_$(hostname -s)
|
||||
fi
|
||||
|
||||
# git
|
||||
if [ -e /usr/local/share/git-core/contrib/completion/git-completion.bash ]; then
|
||||
. /usr/local/share/git-core/contrib/completion/git-completion.bash
|
||||
fi
|
||||
@ -127,11 +110,6 @@ if [ -e /usr/local/share/git-core/contrib/completion/git-prompt.sh ] || [ -e /us
|
||||
export GIT_PS1_SHOWUNTRACKEDFILES=1
|
||||
export GIT_PS1_SHOWUPSTREAM="auto"
|
||||
export GIT_PS1_SHOWCOLORHINTS=1
|
||||
export PROMPT_COMMAND='__git_ps1 "\[\033[1;31m\]>> \[\033[01;37m\](\[\033[0;37m\]\u@\[\033[0;32m\]\h\[\033[01;37m\]) \[\033[01;34m\]\w\[\033[00m\]" "\n\[\033[1;31m\]$(prompt_status)>\[\033[0;37m\] "'
|
||||
export PROMPT_COMMAND='__git_ps1 "$PS1_pre" "\n$PS1_post"'
|
||||
fi
|
||||
|
||||
# Tmux + ssh agent forwarding
|
||||
if [ -S "$SSH_AUTH_SOCK" ] && [ ! -h "$SSH_AUTH_SOCK" ]; then
|
||||
ln -sf "$SSH_AUTH_SOCK" ~/.ssh/ssh_auth_sock
|
||||
fi
|
||||
export SSH_AUTH_SOCK=~/.ssh/ssh_auth_sock
|
||||
|
Loading…
Reference in New Issue
Block a user