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
. ~/.profile
# dotfiles locations
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
if [ -f `brew --prefix`/etc/bash_completion ]; then
. `brew --prefix`/etc/bash_completion
fi
# include .profile
source ~/.profile
# execute bashrc
[ -n "$BASH" ] && . ~/.bashrc
# include bashrc too if this is an interactive shell
[[ $- == *i* ]] && source ~/.bashrc
# vim: ft=sh

View file

@ -32,15 +32,15 @@ __tpwd() {
__truncate_dir "$PWD"
}
bash_prompt_command() {
__bash_prompt_command() {
local pwdmaxlen=25
local trunc_symbol="…"
NEW_PWD=$(__tpwd)
PROMPT_PWD=$(__tpwd)
}
bash_prompt() {
__set_bash_ps1() {
case $TERM in
xterm*|rxvt*)
local TITLEBAR='\[\033]0;\u:${NEW_PWD}\007\]'
@ -49,50 +49,19 @@ bash_prompt() {
local TITLEBAR=""
;;
esac
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
# load color vars
source "$DOTFILES_BASH_DIR/ansi_colors"
# 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:
#PS1="${TITLEBAR}[\u@\h \${NEW_PWD}]\\$ "
# extra backslash in front of \$ to make bash colorize the prompt
}
PROMPT_COMMAND=bash_prompt_command
bash_prompt
unset bash_prompt
PROMPT_COMMAND=__bash_prompt_command
__set_bash_ps1
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
source ~/.dotfiles/bash/prompt
source $DOTFILES_BASH_DIR/prompt
# ignore repeated, space-started, and casual commands
export HISTIGNORE="&:[ ]*:l[sl]:[bf]g:exit"
# enable multiline single command
shopt -s cmdhist
# enable appending to histfile
shopt -s histappend
shopt -s cdspell
# turn off bells
# turn off distractive bells
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
. ~/.profile
source ~/.profile
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_term_title() {
@ -139,3 +140,4 @@ chpwd() {
set_term_title
}
# vim: ft=zsh