basic dotfiles

This commit is contained in:
Loic Nageleisen 2011-05-29 13:58:15 +02:00
commit 2ca33576d6
6 changed files with 185 additions and 0 deletions

14
bash_profile Normal file
View file

@ -0,0 +1,14 @@
## bash_profile
# handle .profile too
. .profile
# homebrew bash autocompletion
if [ -f `brew --prefix`/etc/bash_completion ]; then
. `brew --prefix`/etc/bash_completion
fi
# execute bashrc
[ -n "$BASH" ] && . ~/.bashrc

84
bash_prompt Normal file
View file

@ -0,0 +1,84 @@
##################################################
# The home directory (HOME) is replaced with a ~
# The last pwdmaxlen characters of the PWD are displayed
# Leading partial directory names are striped off
# /home/me/stuff -> ~/stuff if USER=me
# /usr/share/big_dir_name -> …/share/big_dir_name if pwdmaxlen=20
##################################################
bash_prompt_command() {
# How many characters of the $PWD should be kept
local pwdmaxlen=25
# How to indicate that there has been dir truncation
local trunc_symbol="…"
# get minimum length to not truncate a long name
local dir=${PWD##*/} #'.' real name
pwdmaxlen=$(( ( pwdmaxlen < ${#dir} ) ? ${#dir} : pwdmaxlen ))
NEW_PWD=${PWD/#$HOME/\~} #gain some place with '~'
local pwdoffset=$(( ${#NEW_PWD} - pwdmaxlen )) #get truncation point
if [ ${pwdoffset} -gt "0" ] #truncation is needed
then
NEW_PWD=${NEW_PWD:$pwdoffset:$pwdmaxlen} #truncate
NEW_PWD=${trunc_symbol}/${NEW_PWD#*/} #add symbol
fi
}
bash_prompt() {
case $TERM in
xterm*|rxvt*)
local TITLEBAR='\[\033]0;\u:${NEW_PWD}\007\]'
;;
*)
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
# colorized:
PS1="${TITLEBAR} ${EMC}[${UC}\u${EMC}@${UC}\h ${EMB}\${NEW_PWD}${EMC}]${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
# vim: set filetype=sh :

21
bashrc Normal file
View file

@ -0,0 +1,21 @@
## bashrc
# set a nice prompt
source ~/.bash_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
set bell-style none
#alias ls="ls --color"
alias ll="ls -l"
alias top="top -o cpu -s 5"

26
profile Normal file
View file

@ -0,0 +1,26 @@
## .profile
# set locale
export LC_ALL="en_US.UTF-8"
# mono paths
#export MANPATH=/Library/Frameworks/Mono.framework/Versions/Current/share/man:$MANPATH
#export PKG_CONFIG_PATH=/Library/Frameworks/Mono.framework/Versions/Current/lib/pkgconfig:$PKG_CONFIG_PATH
# user path
export PATH=~/.local/bin:$PATH
# local path
export PATH=/usr/local/bin:/usr/local/sbin:$PATH
# node.js path
export NODE_PATH=/usr/local/lib/node
# default editor
export EDITOR=vim
export VISUAL=vim
# add some color
export GREP_OPTIONS='--color=auto'
export CLICOLOR=1;

4
zprofile Normal file
View file

@ -0,0 +1,4 @@
emulate sh
. ~/.profile
emulate zsh

36
zshrc Normal file
View file

@ -0,0 +1,36 @@
# Set up the prompt
autoload -Uz promptinit
promptinit
prompt walters
# Use emacs keybindings even if our EDITOR is set to vi
bindkey -e
# Keep 1000 lines of history within the shell and save it to ~/.zsh_history:
HISTSIZE=1000
SAVEHIST=1000
HISTFILE=~/.zsh_history
# Use modern completion system
autoload -Uz compinit
compinit
zstyle ':completion:*' auto-description 'specify: %d'
zstyle ':completion:*' completer _expand _complete _correct _approximate
zstyle ':completion:*' format 'Completing %d'
zstyle ':completion:*' group-name ''
zstyle ':completion:*' menu select=2
which dircolors >/dev/null && eval "$(dircolors -b)"
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*' list-colors ''
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=* l:|=*'
zstyle ':completion:*' menu select=long
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle ':completion:*' use-compctl false
zstyle ':completion:*' verbose true
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'