Robby Russell
15 years ago
12 changed files with 259 additions and 0 deletions
@ -0,0 +1,8 @@ |
|||||||
|
h2. Setup |
||||||
|
|
||||||
|
# Clone the repository to ~/zsh |
||||||
|
# Symlink the zsh config with: @ln -s ~/zsh/zshrc .zshrc@ |
||||||
|
# Reload zsh (open a new terminal) |
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,44 @@ |
|||||||
|
alias c='cd' |
||||||
|
alias pu='pushd' |
||||||
|
alias po='popd' |
||||||
|
alias sc='ruby script/console' |
||||||
|
alias ss='ruby script/server' |
||||||
|
|
||||||
|
alias mr='mate CHANGELOG app config db lib public script spec test' |
||||||
|
alias .='pwd' |
||||||
|
alias ...='cd ../..' |
||||||
|
alias ....='cd ../../..' |
||||||
|
alias .....='cd ../../../..' |
||||||
|
alias ......='cd ../../../../..' |
||||||
|
alias .......='cd ../../../../../..' |
||||||
|
|
||||||
|
alias _='sudo' |
||||||
|
alias ss='setsid' |
||||||
|
|
||||||
|
alias g='grep -in' |
||||||
|
|
||||||
|
alias s='svn' |
||||||
|
alias e='mate' |
||||||
|
|
||||||
|
alias history='fc -l 1' |
||||||
|
|
||||||
|
# Git aliases |
||||||
|
|
||||||
|
alias utb='tar jxvf' |
||||||
|
alias utz='tar zxvf' |
||||||
|
|
||||||
|
alias ls='ls -GF' |
||||||
|
alias ll='ls -al' |
||||||
|
|
||||||
|
alias sgem='sudo gem' |
||||||
|
|
||||||
|
alias rfind='find . -name *.rb | xargs grep -n' |
||||||
|
|
||||||
|
alias xenon='ssh rrussell@xenon.planetargon.com' |
||||||
|
|
||||||
|
alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk' |
||||||
|
|
||||||
|
bindkey '\ew' kill-region |
||||||
|
|
||||||
|
bindkey -s '\el' "ls\n" |
||||||
|
bindkey -s '\e.' "..\n" |
@ -0,0 +1,4 @@ |
|||||||
|
autoload colors; colors; |
||||||
|
|
||||||
|
unset LSCOLORS |
||||||
|
export LS_COLORS='di=34:ln=35:so=32:pi=33:ex=31:bd=46;34:cd=43;34:su=41;30:sg=46;30:tw=42;30:ow=43;30' |
@ -0,0 +1,27 @@ |
|||||||
|
setopt noautomenu |
||||||
|
setopt COMPLETE_IN_WORD |
||||||
|
setopt ALWAYS_TO_END |
||||||
|
|
||||||
|
unsetopt flowcontrol |
||||||
|
|
||||||
|
WORDCHARS='' |
||||||
|
|
||||||
|
autoload -U compinit |
||||||
|
compinit |
||||||
|
|
||||||
|
zmodload -i zsh/complist |
||||||
|
|
||||||
|
zstyle ':completion:*' list-colors '' |
||||||
|
zstyle ':completion:*' hosts $( sed 's/[, ].*$//' $HOME/.ssh/known_hosts ) |
||||||
|
|
||||||
|
unsetopt MENU_COMPLETE |
||||||
|
setopt AUTO_MENU |
||||||
|
|
||||||
|
bindkey -M menuselect '^o' accept-and-infer-next-history |
||||||
|
|
||||||
|
zstyle ':completion:*:*:*:*:*' menu yes select |
||||||
|
# zstyle ':completion:*:*:*:*:processes' force-list always |
||||||
|
|
||||||
|
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01' |
||||||
|
zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm -w -w" |
||||||
|
zstyle ':completion:*:*:(ssh|scp):*:*' hosts `sed 's/^\([^ ,]*\).*$/\1/' ~/.ssh/known_hosts` |
@ -0,0 +1,26 @@ |
|||||||
|
function title { |
||||||
|
if [[ $TERM == "screen" ]]; then |
||||||
|
# Use these two for GNU Screen: |
||||||
|
print -nR $'\033k'$1$'\033'\\\ |
||||||
|
|
||||||
|
print -nR $'\033]0;'$2$'\a' |
||||||
|
elif [[ $TERM == "xterm" || $TERM == "rxvt" ]]; then |
||||||
|
# Use this one instead for XTerms: |
||||||
|
print -nR $'\033]0;'$*$'\a' |
||||||
|
fi |
||||||
|
} |
||||||
|
|
||||||
|
function precmd { |
||||||
|
title zsh "$PWD" |
||||||
|
} |
||||||
|
|
||||||
|
function preexec { |
||||||
|
emulate -L zsh |
||||||
|
local -a cmd; cmd=(${(z)1}) |
||||||
|
title $cmd[1]:t "$cmd[2,-1]" |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
function remote_console() { |
||||||
|
/usr/bin/env ssh $1 "( cd $2 && ruby script/console production )" |
||||||
|
} |
@ -0,0 +1,19 @@ |
|||||||
|
# get the name of the branch we are on |
||||||
|
function git_prompt_info() { |
||||||
|
ref=$(git symbolic-ref HEAD 2> /dev/null) || return |
||||||
|
branch=${ref#refs/heads/} |
||||||
|
|
||||||
|
if [[ -d .git ]]; then |
||||||
|
CURRENT_BRANCH="%{$fg[red]%}git:(%{$fg[green]${branch}%{$fg[red])" |
||||||
|
else |
||||||
|
CURRENT_BRANCH='' |
||||||
|
fi |
||||||
|
|
||||||
|
|
||||||
|
#echo "%{$fg[red]%}git:(%{$fg[green]$CURRENT_BRANCH%{$fg[red])" |
||||||
|
echo $CURRENT_BRANCH |
||||||
|
} |
||||||
|
|
||||||
|
parse_git_dirty () { |
||||||
|
[[ $(git status | tail -n1) != "nothing to commit (working directory clean)" ]] && echo "%{$fg[white] ♻ " |
||||||
|
} |
@ -0,0 +1,6 @@ |
|||||||
|
# |
||||||
|
# Color grep results |
||||||
|
# Examples: http://rubyurl.com/ZXv |
||||||
|
# |
||||||
|
export GREP_OPTIONS='--color=auto' |
||||||
|
export GREP_COLOR='1;32' |
@ -0,0 +1,15 @@ |
|||||||
|
# History stuff. |
||||||
|
setopt HIST_VERIFY |
||||||
|
setopt INC_APPEND_HISTORY |
||||||
|
setopt SHARE_HISTORY |
||||||
|
setopt EXTENDED_HISTORY |
||||||
|
setopt HIST_IGNORE_DUPS |
||||||
|
|
||||||
|
## Command history configuration |
||||||
|
# |
||||||
|
HISTFILE=$ZSH/log/.zsh_history |
||||||
|
HISTSIZE=2500 |
||||||
|
SAVEHIST=2500 |
||||||
|
setopt hist_ignore_dups # ignore duplication command history list |
||||||
|
setopt share_history # share command history data |
||||||
|
|
@ -0,0 +1,5 @@ |
|||||||
|
# Add yourself some shortcuts to projects you often work on |
||||||
|
# Example: |
||||||
|
# |
||||||
|
# brainstormr=/Users/robbyrussell/Projects/development/planetargon/brainstormr |
||||||
|
# |
@ -0,0 +1,29 @@ |
|||||||
|
bindkey -e |
||||||
|
|
||||||
|
# Directory stuff. |
||||||
|
setopt AUTO_NAME_DIRS |
||||||
|
|
||||||
|
# Speed stuff. |
||||||
|
|
||||||
|
#setopt NO_BEEP |
||||||
|
setopt AUTO_CD |
||||||
|
setopt MULTIOS |
||||||
|
setopt CDABLEVARS |
||||||
|
|
||||||
|
bindkey -e |
||||||
|
|
||||||
|
if [[ x$WINDOW != x ]] |
||||||
|
then |
||||||
|
SCREEN_NO="%B$WINDOW%b " |
||||||
|
else |
||||||
|
SCREEN_NO="" |
||||||
|
fi |
||||||
|
|
||||||
|
PS1="%n@%m:%~%# " |
||||||
|
|
||||||
|
# Setup the prompt with pretty colors |
||||||
|
setopt prompt_subst |
||||||
|
|
||||||
|
export LSCOLORS="Gxfxcxdxbxegedabagacad" |
||||||
|
|
||||||
|
PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' |
@ -0,0 +1,42 @@ |
|||||||
|
_rake_does_task_list_need_generating () { |
||||||
|
if [ ! -f .rake_tasks ]; then return 0; |
||||||
|
else |
||||||
|
accurate=$(stat -f%m .rake_tasks) |
||||||
|
changed=$(stat -f%m Rakefile) |
||||||
|
return $(expr $accurate '>=' $changed) |
||||||
|
fi |
||||||
|
} |
||||||
|
|
||||||
|
_rake () { |
||||||
|
if [ -f Rakefile ]; then |
||||||
|
if _rake_does_task_list_need_generating; then |
||||||
|
echo "\nGenerating .rake_tasks..." > /dev/stderr |
||||||
|
rake --silent --tasks | cut -d " " -f 2 > .rake_tasks |
||||||
|
fi |
||||||
|
compadd `cat .rake_tasks` |
||||||
|
fi |
||||||
|
} |
||||||
|
|
||||||
|
compdef _rake rake |
||||||
|
|
||||||
|
function _cap_does_task_list_need_generating () { |
||||||
|
if [ ! -f .cap_tasks ]; then return 0; |
||||||
|
else |
||||||
|
accurate=$(stat -f%m .cap_tasks) |
||||||
|
changed=$(stat -f%m config/deploy.rb) |
||||||
|
return $(expr $accurate '>=' $changed) |
||||||
|
fi |
||||||
|
} |
||||||
|
|
||||||
|
function _cap () { |
||||||
|
if [ -f config/deploy.rb ]; then |
||||||
|
if _cap_does_task_list_need_generating; then |
||||||
|
echo "\nGenerating .cap_tasks..." > /dev/stderr |
||||||
|
cap show_tasks -q | cut -d " " -f 1 | sed -e '/^ *$/D' -e '1,2D' |
||||||
|
> .cap_tasks |
||||||
|
fi |
||||||
|
compadd `cat .cap_tasks` |
||||||
|
fi |
||||||
|
} |
||||||
|
|
||||||
|
compdef _cap cap |
@ -0,0 +1,34 @@ |
|||||||
|
export EDITOR=/opt/local/bin/joe |
||||||
|
export PAGER=less |
||||||
|
export ZSH=$HOME/zsh |
||||||
|
export LC_CTYPE=en_US.UTF-8 |
||||||
|
|
||||||
|
# TODO: Refactor this sometimes soon... |
||||||
|
source $ZSH/colors.zsh |
||||||
|
source $ZSH/aliases.zsh |
||||||
|
source $ZSH/completion.zsh |
||||||
|
source $ZSH/rake_completion.zsh |
||||||
|
source $ZSH/functions.zsh |
||||||
|
source $ZSH/git.zsh |
||||||
|
source $ZSH/history.zsh |
||||||
|
source $ZSH/grep.zsh |
||||||
|
source $ZSH/prompt.zsh |
||||||
|
|
||||||
|
# Uncomment if you have a projects.zsh file |
||||||
|
# source $ZSH/projects.zsh |
||||||
|
|
||||||
|
# Directory stuff. |
||||||
|
|
||||||
|
setopt AUTO_NAME_DIRS |
||||||
|
|
||||||
|
# Speed stuff. |
||||||
|
|
||||||
|
#setopt NO_BEEP |
||||||
|
setopt AUTO_CD |
||||||
|
setopt MULTIOS |
||||||
|
setopt CDABLEVARS |
||||||
|
|
||||||
|
# Customize to your needs... |
||||||
|
export PATH=~/bin:/opt/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/sbin:/opt/local/lib/postgresql83/bin |
||||||
|
|
||||||
|
|
Loading…
Reference in new issue