|
shopt -s cdspell # correct spelling for directories
|
|
shopt -s checkwinsize # Check columns and lines window size after every run
|
|
shopt -s extglob #
|
|
shopt -s nocaseglob; # Case-insensitive globbing (used in pathname expansion)
|
|
shopt -s histverify # Don't run history substitution immediately (!!), require confirmation
|
|
|
|
shopt -s cmdhist # Save multi-line commands as one command
|
|
shopt -s histappend # Append history across shells
|
|
export HISTCONTROL=ignoreboth:erasedups # Ignore duplicates in the history and commands starting with space
|
|
export HISTSIZE=500000
|
|
export HISTFILESIZE=100000
|
|
export HISTTIMEFORMAT='%F %T - '
|
|
|
|
# Simple prompt coloring
|
|
PS1="$(if [[ ${EUID} == 0 ]]; then echo '\[\033[01;31m\]\h'; else echo '\[\033[01;32m\]\u@\h'; fi)\[\033[01;34m\] \w \$([[ \$? != 0 ]] && echo \"\[\033[01;31m\]:(\[\033[01;34m\] \")\\$\[\033[00m\] "
|
|
|
|
if [[ "$(set -o | grep 'emacs\|\bvi\b' | cut -f2 | tr '\n' ':')" != 'off:off:' ]];
|
|
then
|
|
bind Space:magic-space # Enable history expansion with space e.g. !!<space> will replace the !! with your last command
|
|
bind 'set completion-ignore-case on' # Perform file completion in a case insensitive fashion
|
|
bind 'set completion-map-case on' # Treat hyphens and underscores as equivalent
|
|
|
|
# The following allows partial searching (e.g. ss<up|down> will autocomplete ssh 4.2.2.2)
|
|
bind '"\e[A": history-search-backward'
|
|
bind '"\e[B": history-search-forward'
|
|
bind '"\e[C": forward-char'
|
|
bind '"\e[D": backward-char'
|
|
fi
|