uniformizing shell config

This commit is contained in:
Loic Nageleisen 2012-08-10 14:15:13 +02:00
parent 65be65d4d6
commit a0f8f48016
6 changed files with 81 additions and 58 deletions

36
bash/ansi_colors Normal file
View file

@ -0,0 +1,36 @@
local NONE="\[\033[0m\]" # unsets color to term's fg color
# regular colors
local K="\[\033[0;30m\]" # black
local R="\[\033[0;31m\]" # red
local G="\[\033[0;32m\]" # green
local Y="\[\033[0;33m\]" # yellow
local B="\[\033[0;34m\]" # blue
local M="\[\033[0;35m\]" # magenta
local C="\[\033[0;36m\]" # cyan
local W="\[\033[0;37m\]" # white
# emphasized (bolded) colors
local EMK="\[\033[1;30m\]"
local EMR="\[\033[1;31m\]"
local EMG="\[\033[1;32m\]"
local EMY="\[\033[1;33m\]"
local EMB="\[\033[1;34m\]"
local EMM="\[\033[1;35m\]"
local EMC="\[\033[1;36m\]"
local EMW="\[\033[1;37m\]"
# background colors
local BGK="\[\033[40m\]"
local BGR="\[\033[41m\]"
local BGG="\[\033[42m\]"
local BGY="\[\033[43m\]"
local BGB="\[\033[44m\]"
local BGM="\[\033[45m\]"
local BGC="\[\033[46m\]"
local BGW="\[\033[47m\]"
local UC=$W # user's color
[ $UID -eq "0" ] && UC=$R # root's color
# vim: ft=sh

View file

@ -1,13 +1,14 @@
## bash_profile ## bash_profile, called for login shells
# handle .profile too # dotfiles locations
. ~/.profile DOTFILES_HOME_DIR="$(cd -P "$(dirname "$(readlink ${BASH_SOURCE[0]})")" && pwd)"
DOTFILES_ROOT_DIR="$( dirname "$DOTFILES_HOME_DIR" )"
DOTFILES_BASH_DIR="$DOTFILES_ROOT_DIR/bash"
# homebrew bash autocompletion # include .profile
if [ -f `brew --prefix`/etc/bash_completion ]; then source ~/.profile
. `brew --prefix`/etc/bash_completion
fi
# execute bashrc # include bashrc too if this is an interactive shell
[ -n "$BASH" ] && . ~/.bashrc [[ $- == *i* ]] && source ~/.bashrc
# vim: ft=sh

View file

@ -32,15 +32,15 @@ __tpwd() {
__truncate_dir "$PWD" __truncate_dir "$PWD"
} }
bash_prompt_command() { __bash_prompt_command() {
local pwdmaxlen=25 local pwdmaxlen=25
local trunc_symbol="…" local trunc_symbol="…"
NEW_PWD=$(__tpwd) PROMPT_PWD=$(__tpwd)
} }
bash_prompt() { __set_bash_ps1() {
case $TERM in case $TERM in
xterm*|rxvt*) xterm*|rxvt*)
local TITLEBAR='\[\033]0;\u:${NEW_PWD}\007\]' local TITLEBAR='\[\033]0;\u:${NEW_PWD}\007\]'
@ -49,50 +49,19 @@ bash_prompt() {
local TITLEBAR="" local TITLEBAR=""
;; ;;
esac esac
local NONE="\[\033[0m\]" # unsets color to term's fg color
# regular colors # load color vars
local K="\[\033[0;30m\]" # black source "$DOTFILES_BASH_DIR/ansi_colors"
local R="\[\033[0;31m\]" # red
local G="\[\033[0;32m\]" # green
local Y="\[\033[0;33m\]" # yellow
local B="\[\033[0;34m\]" # blue
local M="\[\033[0;35m\]" # magenta
local C="\[\033[0;36m\]" # cyan
local W="\[\033[0;37m\]" # white
# emphasized (bolded) colors
local EMK="\[\033[1;30m\]"
local EMR="\[\033[1;31m\]"
local EMG="\[\033[1;32m\]"
local EMY="\[\033[1;33m\]"
local EMB="\[\033[1;34m\]"
local EMM="\[\033[1;35m\]"
local EMC="\[\033[1;36m\]"
local EMW="\[\033[1;37m\]"
# background colors
local BGK="\[\033[40m\]"
local BGR="\[\033[41m\]"
local BGG="\[\033[42m\]"
local BGY="\[\033[43m\]"
local BGB="\[\033[44m\]"
local BGM="\[\033[45m\]"
local BGC="\[\033[46m\]"
local BGW="\[\033[47m\]"
local UC=$W # user's color
[ $UID -eq "0" ] && UC=$R # root's color
# colorized: # colorized:
PS1="${TITLEBAR} ${EMC}[${UC}\u${EMC}@${UC}\h ${EMB}\${NEW_PWD}${EMC}]${UC}\\$ ${NONE}" PS1="${TITLEBAR} ${B}[${UC}\u@\h ${G}\${PROMPT_PWD}${B}]${UC}\\$ ${NONE}"
# without colors: # without colors:
#PS1="${TITLEBAR}[\u@\h \${NEW_PWD}]\\$ " #PS1="${TITLEBAR}[\u@\h \${NEW_PWD}]\\$ "
# extra backslash in front of \$ to make bash colorize the prompt # extra backslash in front of \$ to make bash colorize the prompt
} }
PROMPT_COMMAND=bash_prompt_command PROMPT_COMMAND=__bash_prompt_command
bash_prompt __set_bash_ps1
unset bash_prompt unset __set_bash_ps1
# vim: set filetype=sh : # vim: ft=sh

13
bash/rc
View file

@ -1,19 +1,24 @@
## bashrc ## bashrc, called for interactive shells
# set a nice prompt # set a nice prompt
source ~/.dotfiles/bash/prompt source $DOTFILES_BASH_DIR/prompt
# ignore repeated, space-started, and casual commands # ignore repeated, space-started, and casual commands
export HISTIGNORE="&:[ ]*:l[sl]:[bf]g:exit" export HISTIGNORE="&:[ ]*:l[sl]:[bf]g:exit"
# enable multiline single command # enable multiline single command
shopt -s cmdhist shopt -s cmdhist
# enable appending to histfile # enable appending to histfile
shopt -s histappend shopt -s histappend
shopt -s cdspell shopt -s cdspell
# turn off bells # turn off distractive bells
set bell-style none set bell-style none
#source ~/.aliases # homebrew bash autocompletion
if [ -f `brew --prefix`/etc/bash_completion ]; then
source `brew --prefix`/etc/bash_completion
fi
# vim: ft=sh

View file

@ -1,4 +1,14 @@
# zprofile, called for login shells
# dotfiles locations
DOTFILES_HOME_DIR="$(cd -P "$(dirname "$(readlink ~/.zprofile)")" && pwd)"
DOTFILES_ROOT_DIR="$( dirname "$DOTFILES_HOME_DIR" )"
DOTFILES_ZSH_DIR="$DOTFILES_ROOT_DIR/zsh"
emulate sh emulate sh
. ~/.profile source ~/.profile
emulate zsh emulate zsh
# zshrc will be called automatically for interactive shells
# vim: ft=zsh

4
zsh/rc
View file

@ -1,5 +1,6 @@
# Set up the prompt # zshrc, called for interactive shells
# Set up the prompt
# Set terminal title # Set terminal title
set_term_title() { set_term_title() {
@ -139,3 +140,4 @@ chpwd() {
set_term_title set_term_title
} }
# vim: ft=zsh