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
|
# If not running interactively, don't do anything
|
||||||
[ -z "$PS1" ] && return
|
[ -z "$PS1" ] && return
|
||||||
|
|
||||||
|
##### VARIABLES #####
|
||||||
|
|
||||||
# don't put duplicate lines in the history. See bash(1) for more options
|
# don't put duplicate lines in the history. See bash(1) for more options
|
||||||
export HISTCONTROL=ignoredups
|
export HISTCONTROL=ignoredups
|
||||||
# ... and ignore same sucessive entries.
|
# ... and ignore same sucessive entries.
|
||||||
@ -12,29 +10,28 @@ export HISTCONTROL=ignoreboth
|
|||||||
# size
|
# size
|
||||||
export HISTSIZE=10000
|
export HISTSIZE=10000
|
||||||
export HISTFILESIZE=100000
|
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,
|
##### COLORS #####
|
||||||
# update the values of LINES and COLUMNS.
|
|
||||||
shopt -s checkwinsize
|
|
||||||
|
|
||||||
# make less more friendly for non-text input files, see lesspipe(1)
|
# ls colors
|
||||||
#[ -x /usr/bin/lesspipe ] && eval "$(lesspipe)"
|
export LSCOLORS="ExGxFxdxCxDxDxhbadExEx"
|
||||||
|
# enable color support of ls and also add handy aliases
|
||||||
# set variable identifying the chroot you work in (used in the prompt below)
|
if [ "$TERM" != "dumb" ]; then
|
||||||
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
|
[ -x /usr/bin/dircolors ] && eval "`dircolors -b`"
|
||||||
debian_chroot=$(cat /etc/debian_chroot)
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# set a fancy prompt (non-color, unless we know we "want" color)
|
##### FUNCTIONS #####
|
||||||
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
|
|
||||||
|
|
||||||
|
# status indicator
|
||||||
prompt_status()
|
prompt_status()
|
||||||
{
|
{
|
||||||
if [[ "$?" == "0" ]]
|
if [[ "$?" == "0" ]]
|
||||||
@ -45,8 +42,35 @@ prompt_status()
|
|||||||
fi
|
fi
|
||||||
echo -n '\[\033[1;31m\]'
|
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
|
# If this is an xterm set the title to user@host:dir
|
||||||
case "$TERM" in
|
case "$TERM" in
|
||||||
@ -57,61 +81,20 @@ xterm*|rxvt*)
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# Alias definitions.
|
# Tmux + ssh agent forwarding
|
||||||
# You may want to put all your additions into a separate file like
|
if [ -S "$SSH_AUTH_SOCK" ] && [ ! -h "$SSH_AUTH_SOCK" ]; then
|
||||||
# ~/.bash_aliases, instead of adding them here directly.
|
ln -sf "$SSH_AUTH_SOCK" ~/.ssh/ssh_auth_sock
|
||||||
# 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)
|
|
||||||
fi
|
fi
|
||||||
|
export SSH_AUTH_SOCK=~/.ssh/ssh_auth_sock
|
||||||
|
|
||||||
# enable color support of ls and also add handy aliases
|
##### PROMPT #####
|
||||||
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
|
|
||||||
|
|
||||||
# enable programmable completion features (you don't need to enable
|
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\]"
|
||||||
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
|
PS1_post="\[\033[1;31m\]$(prompt_status)>\[\033[0;37m\] "
|
||||||
# sources /etc/bash.bashrc).
|
PS1="${PS1_pre}\n${PS1_post}"
|
||||||
if [ -f /etc/bash_completion ]; then
|
|
||||||
. /etc/bash_completion
|
|
||||||
fi
|
|
||||||
|
|
||||||
# navigateur prefere
|
##### GIT #####
|
||||||
export BROWSER=firefox
|
|
||||||
|
|
||||||
# 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
|
if [ -e /usr/local/share/git-core/contrib/completion/git-completion.bash ]; then
|
||||||
. /usr/local/share/git-core/contrib/completion/git-completion.bash
|
. /usr/local/share/git-core/contrib/completion/git-completion.bash
|
||||||
fi
|
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_SHOWUNTRACKEDFILES=1
|
||||||
export GIT_PS1_SHOWUPSTREAM="auto"
|
export GIT_PS1_SHOWUPSTREAM="auto"
|
||||||
export GIT_PS1_SHOWCOLORHINTS=1
|
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
|
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