Skip to content

Instantly share code, notes, and snippets.

@neocsr
Created February 10, 2012 06:46
Show Gist options
  • Save neocsr/1787249 to your computer and use it in GitHub Desktop.
Save neocsr/1787249 to your computer and use it in GitHub Desktop.
oh-my-zsh-custom
--sort-files
--color
--context=1
--follow
--group
--ignore-dir=vendor
--ignore-dir=db/server
--ignore-dir=log
--ignore-dir=tmp
--ignore-dir=db/*
--ignore-dir=doc/*
--ignore-dir=target
--type-set=sass=.sass
--type-set=scss=.scss
--type-set=haml=.haml
--type-add=ruby=.haml,.rake,.rsel,.feature,.sass,.builder,.jbuilder
--type-add=xml=.xsd
--type-add=css=.scss
--type-add=js=.javascript,.js,.bones,._,.json,.jsont
AwesomePrint.defaults = {
:index => false,
:html => false,
:plain => false,
:indent => -2,
:sort_keys => false,
:multiline => true,
:color => {
:hash => :pale,
:class => :white
}
}
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
# don't put duplicate lines in the history. See bash(1) for more options
# don't overwrite GNU Midnight Commander's setting of `ignorespace'.
export HISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups
# ... or force ignoredups and ignorespace
export HISTCONTROL=ignoreboth
# append to the history file, don't overwrite it
shopt -s histappend
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color) color_prompt=yes;;
esac
# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes
if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
else
color_prompt=
fi
fi
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
eval "`dircolors -b`"
alias ls='ls --color=auto'
alias dir='dir --color=auto'
alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
export EDITOR="vim"
# Example: $ cat ~/.ssh/id_dsa.pub | pbcopy
# alias pbcopy='xclip -selection clipboard'
# alias pbpaste='xclip -selection clipboard -o'
alias pbcopy='xsel --clipboard --input'
alias pbpaste='xsel --clipboard --output'
alias tu='top -o cpu'
alias tm='top -o vsize'
alias doc='cd ~/Documents/'
alias pro='cd ~/Projects'
alias code='cd ~/Code'
alias prof='subl ~/.bashrc'
alias lsa='ls -lhta --color'
alias ls='ls --color'
alias l='ls -lhta --color'
alias kk="sudo kill -9"
alias be="bundle exec"
alias bi="echo 'bundle install --path vendor/bundle --without development test'"
alias ct="/usr/local/bin/ctags -R --exclude=.git --exclude=log --exclude=tmp --exclude=spec/javascripts --exclude=.jhw-cache *"
alias rss="ruby script/server"
alias rsc="ruby script/console"
alias rsg="ruby script/generate"
alias ss="./script/server"
alias mini="bundle exec ruby -Ilib:bin:test:."
alias off="sudo shutdown -s now"
alias fail="growlnotify --image ~/.growl/fail.png -t 'Fail' -m"
alias success="growlnotify --image ~/.growl/success.png -t 'Success' -m"
alias set_oracle="export DYLD_LIBRARY_PATH=$ORACLE_HOME"
alias tcopy="tmux show-buffer | pbcopy"
alias jcurl="curl -sS -H 'Content-Type: application/json'"
alias tcurl="curl -sS -o /dev/null -w \"%{time_total} sec, %{time_starttransfer} sec, status %{http_code}, %{size_download} bytes, %{speed_download} bytes/sec, '%{content_type}'\\n\""
function killnamed () {
ps ax | grep $1 | cut -d ' ' -f 2 | xargs kill
}
function zipr() {
zip -r $1.zip $1
}
function take() {
mkdir $1
cd $1
}
function hgrep() {
history | grep $1
}
function findtext() {
grep -lir "$*" *
}
function pgrep() {
ps aux | grep $1
}
function findr() {
grep -r -n -P --color "$*" *
}
function findword() {
find . -type f -exec grep -l "$1" {} +
}
function ff() {
find . -name "*$1*"
}
function growl() {
echo -e $'\e]9;'${1}'\007' ; return ;
}
function git_user_name() {
echo "$(git config user.name)"
}
function proxyssh() {
ssh -L7997:127.0.0.1:7997 deploy@$1.com
}
# Git
alias ungit="find . -name '.git' -exec rm -rf {} \;"
alias gb='git branch'
alias gba='git branch -a'
alias gc='git commit -v'
alias gca='git commit -v -a'
alias gco='git checkout'
alias gu='git pull'
alias gd='git diff'
alias gi='git diff'
alias gs='git status'
alias g='git status'
alias gg='git grep -n'
alias glc='git diff HEAD^..HEAD'
alias glf='git log --name-status HEAD^..HEAD'
alias glo='git log --oneline'
alias gam='git commit --amend'
function ggg() {
git --no-pager show `git log --oneline | ag $1 | cut -c 1-7`
}
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
################################################################################
# Utility Functions
################################################################################
##
# Function to find and parse git and svn branches
##
function parse_git_dirty {
[[ $(git status 2> /dev/null | tail -n1) != "nothing to commit (working directory clean)" ]] && echo "*"
}
function parse_git_branch {
if [ -x .git ]; then
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/\[git:\1]/"
else
if [ -x .svn ]; then
PP=`svn info 2>/dev/null | sed -ne 's#^URL: ##p'`
if [[ $PP == *branches* ]]; then
echo "[${PP/#*branches/svn:branch}]"
else
if [[ $PP == *tags* ]]; then
echo "[${PP/#*tags/svn:tag}]"
else
if [[ $PP == *trunk* ]]; then
echo "[${PP/#*trunk/svn:trunk}]"
fi
fi
fi
fi
fi
}
################################################################################
# Nice functional bash prompt
# For a list of bash prompt colors see: http://wiki.archlinux.org/index.php/Color_Bash_Prompt
################################################################################
#PS1='\[\e[32m\][\u@\h]\[\e[0m\]\[\e[37m\][\t]\[\e[0m\]\[\e[36m\]$(parse_git_branch)\[\e[0m\]\n\[\e[35m\][\w]\[\e[0m\]> '
PS1='\[\e[32m\][\u@\h]\[\e[35m\][\w]\[\e[0m\]\[\e[37m\][\t]\[\e[0m\]\[\e[36m\]$(parse_git_branch)\[\e[31m\]$(parse_git_dirty)\[\e[0m\]\n\[\e[35m\]->\[\e[0m\] '
eval "$(rbenv init -)"
eval "$(pyenv init -)"
export PATH="$HOME/.rbenv/bin:$PATH"
source ~/.localrc
---
BUNDLE_DISABLE_SHARED_GEMS: '1'
BUNDLE_PATH: .bundle/gems
---
:sources:
- https://rubygems.org
- http://gems.atti.wc1.yellowpages.com
- http://gems.gemcutter.wc1.yellowpages.com
gem: --no-ri --no-rdoc
[user]
name = neocsr
email = neocsr at someemail.com
[alias]
co = checkout
# Log display from screencast, with train tracks.
l = log --graph --pretty=format':%C(yellow)%h%Cblue%d%Creset %s %C(white) %an, %ar%Creset'
# Alternate log display from Scott Chacon
lol = log --pretty=oneline --abbrev-commit --graph --decorate
# Other useful aliases:
unstage = reset HEAD
staged = diff --cached
unstaged = diff
current-branch = !git symbolic-ref -q HEAD | sed -e 's|^refs/heads/||'
# Usage: git track origin/feature-123-login-form
track = checkout -t
[apply]
whitespace = warn
[color]
diff = auto
status = auto
branch = auto
ui = true
[help]
autocorrect = 1
[status]
submodule = 1
[push]
# Only push branches that have been set up to track a remote branch.
default = current
def check_gem(gem_name)
require "#{gem_name}"
puts "require #{gem_name}"
rescue LoadError => e
puts "Missing #{gem_name} => gem install #{gem_name}"
end
require 'irb/completion'
require 'irb/ext/save-history'
check_gem('awesome_print')
check_gem('clipboard')
check_gem('bundler')
IRB.conf[:SAVE_HISTORY] = 10000
IRB.conf[:HISTORY_FILE] = "#{ENV['HOME']}/.irb-save-history"
set -g tmate-server-host "tmate.server"
set -g tmate-server-port 8000
set -g tmate-server-dsa-fingerprint "2d:3f:7f:cc:60:74:30:6f:8f:15:8b:90:26:7c:1c:b6"
set -g tmate-server-rsa-fingerprint "b7:04:e0:b4:ad:c5:e7:47:50:31:17:59:7b:dd:70:de"
set -g tmate-identity "" # Can be specified to use a different SSH key.
# Style window
set -g status-fg white
set -g status-bg black
setw -g window-status-fg black
setw -g window-status-bg cyan
setw -g window-status-attr dim
setw -g window-status-current-fg white
setw -g window-status-current-bg red
setw -g window-status-current-attr bright
# Command / message line
set -g message-fg white
set -g message-bg black
set -g message-attr bright
# Enable mouse
setw -g mode-mouse on
set -g mouse-select-pane on
set -g mouse-resize-pane on
set -g mouse-select-window on
# Enable vim mode
setw -g mode-keys vi
# Activate all colors (iTerm2 xterm-256color)
set -g default-terminal "screen-256color"
# Enable activity alerts
# setw -g monitor-activity on
# set -g visual-activity on
# Update the status bar every sixty seconds
# set -g status-interval 60
# Fix clipboard (use bash instead of zsh)
# Mac:
# - brew install reattach-to-user-namespace
# - tmux show-buffer | pbcopy
# - tmux set-buffer pbpaste; tmux paste-buffer
# Linux:
# - sudo apt-get install xclip
# - bind C-c run "tmux save-buffer - | xclip -i -sel clipboard"
# - bind C-v run "tmux set-buffer \"$(xclip -o -sel clipboard)\"; tmux paste-buffer"
set-option -g default-command "reattach-to-user-namespace -l zsh"
# Keep window's name fixed
set-option -g allow-rename off
# Change leader prefix
unbind-key C-b
set -g prefix 'C-o'
bind-key 'C-o' send-prefix
# Bind to reload config
bind r source-file ~/.tmux.conf \; display "Reloaded!"
# Bind to make repeat resizing
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5
# Select panes
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# Clear scrollback buffer
bind -n C-k send-keys -R \; clear-history \; send-keys "Enter"
# Synchronize panes
bind C-s set-window-option synchronize-panes \; display "Toggle pane synchronization"
color molokai
runtime macros/matchit.vim
set guifont=GohuFont:h14
" Search order for ctags
set tags=./tags,tags;
set tags+=./.tags,.tags;
set tags+=./gems.tags,gems.tags;
" Horizontal and vertical line on the cursor
set cursorline cursorcolumn
hi Search ctermbg=darkred ctermfg=white guibg=darkred guifg=white
hi Visual ctermbg=magenta ctermfg=white guibg=magenta guifg=white
hi CursorLine guibg=#403D3D
hi CursorColumn guibg=#403D3D
fun! <SID>StripTrailingWhitespaces()
let l = line(".")
let c = col(".")
%s/\s\+$//e
call cursor(l, c)
endfun
autocmd FileType c,cpp,java,php,ruby,python,javascript,scala autocmd BufWritePre <buffer> :call <SID>StripTrailingWhitespaces()
set clipboard=unnamed
vmap <C-x> :!pbcopy<CR>
vmap <C-c> :w !pbcopy<CR><CR>
" Add a ruler at 80 char
if exists('+colorcolumn')
set colorcolumn=80
hi ColorColumn ctermbg=black guibg=#3A0000
else
au BufWinEnter * let w:m2=matchadd('ErrorMsg', '\%>80v.\+', -1)
endif
" Add new line
map <S-Enter> O<Esc>
map <CR> o<Esc>
map <D-Enter> o<Esc>
map <D-S-Enter> O<Esc>
command! FR set filetype=ruby
" Map ack to the_silver_search
let g:ackprg = 'ag --nogroup --nocolor --column'
" RSpec with Ruby Conque
let g:ruby_conque_rspec_runner='bundle exec rspec'
let g:ruby_conque_cucumber_runner='bundle exec cucumber'
" Cmd-Shift-R for RSpec
nmap <silent> <D-R> :call RunRspecCurrentFileConque()<CR>
" Cmd-Shift-L for RSpec Current Line
nmap <silent> <D-L> :call RunRspecCurrentLineConque()<CR>
" ,Cmd-R for Last conque command
nmap <silent> ,<D-L> :call RunLastConqueCommand()<CR>
" Vroom setup
"let g:vroom_use_vimux=1
" Use shell in vim
set shell=/bin/sh
" Cycle buffers
map <S-left> :bnext<CR>
map <S-right> :bprevious<CR>
let mapleader = " "
# Path to your oh-my-zsh configuration.
ZSH=$HOME/.oh-my-zsh
# Set name of the theme to load.
# Look in ~/.oh-my-zsh/themes/
# Optionally, if you set this to "random", it'll load a random theme each
# time that oh-my-zsh is loaded.
ZSH_THEME="neocsr"
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
# Set to this to use case-sensitive completion
# CASE_SENSITIVE="true"
# Comment this out to disable weekly auto-update checks
# DISABLE_AUTO_UPDATE="true"
# Uncomment following line if you want to disable colors in ls
# DISABLE_LS_COLORS="true"
# Uncomment following line if you want to disable autosetting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment following line if you want red dots to be displayed while waiting for completion
# COMPLETION_WAITING_DOTS="true"
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
plugins=(git)
source $ZSH/oh-my-zsh.sh
# Customize to your needs...
export EDITOR="/usr/local/bin/subl -w"
# Aliases
alias doc='cd ~/Documents/'
alias pro='cd ~/Projects'
alias code='cd ~/Code'
alias kat='cd ~/Projects/katas'
alias sublime='cd ~/Library/Application\ Support/Sublime\ Text\ 2/Packages/User'
alias sublime3='cd ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/User'
alias prof='subl ~/.zshrc'
alias lsa='ls -lhGta'
alias ls='ls -G'
alias l='ls -lhGta'
alias kk="sudo kill -9"
alias be="bundle exec"
alias ber="bundle exec rainbows"
alias bi="echo 'bundle install --path vendor/bundle --without development test'"
alias ct="/usr/local/bin/ctags -R --exclude=.git --exclude=log --exclude=tmp --exclude=spec/javascripts --exclude=.jhw-cache *"
alias rss="ruby script/server"
alias rsc="ruby script/console"
alias rsg="ruby script/generate"
alias ss="./script/server"
alias mini="bundle exec ruby -Ilib:bin:test:."
alias off="sudo shutdown -s now"
alias news="cat /Library/RubyMotion/NEWS"
alias fail="growlnotify --image ~/.growl/fail.png -t 'Fail' -m"
alias success="growlnotify --image ~/.growl/success.png -t 'Success' -m"
alias tcopy="tmux show-buffer | pbcopy"
alias jcurl="curl -sS -H 'Content-Type: application/json'"
alias tcurl="curl -sS -o /dev/null -w \"%{time_total} sec, %{time_starttransfer} sec, status %{http_code}, %{size_download} bytes, %{speed_download} bytes/sec, '%{content_type}'\\n\""
function hgrep() {
history | grep $1
}
function pgrep() {
ps aux | grep $1
}
function findr() {
grep -r -n -P --color "$*" *
}
function findword() {
find . -type f -exec grep -l "$1" {} +
}
function ff() {
find . -name "*$1*"
}
function growl() {
echo -e $'\e]9;'${1}'\007' ; return ;
}
function sleeep() {
osascript -e 'delay 3' -e 'tell application "Finder" to sleep'
}
function git_user_name() {
echo "$(git config user.name)"
}
function proxyssh() {
ssh -L7997:127.0.0.1:7997 deploy@$1.com
}
function jiracurl() {
local RESP
local FORMRESP
RESP=$(curl $*)
FORMRESP=$(echo $RESP | jq ".")
echo "$RESP"
echo "{code}\ncurl $*\n{code}\n"
echo "{code}\n$FORMRESP\n{code}\n"
}
# Git
alias ungit="find . -name '.git' -exec rm -rf {} \;"
alias gb='git branch'
alias gba='git branch -a'
alias gc='git commit -v'
alias gca='git commit -v -a'
alias gco='git checkout'
alias gu='git pull'
alias gd='git diff'
alias gi='git diff'
alias gic='git diff --cached'
alias gs='git status'
alias g='git status'
alias gn='git --no-pager'
alias gg='git grep -n'
alias glc='git diff HEAD^..HEAD'
alias glg='git --no-pager log -n 10 --pretty=format:"%C(yellow)%h%x09%C(cyan)%an%Creset%x09%C(ul)%ad%Creset%x09%Creset%s"'
alias glf='git log --name-status HEAD^..HEAD'
alias glo='git log --pretty=format:"%C(yellow)%h%x09%C(cyan)%an%Creset%x09%C(ul)%ad%Creset%x09%Creset%s"'
alias gam='git commit --amend'
alias gld='git --no-pager log --since="last day" --pretty=format:"%C(yellow)%h%x09%C(cyan)%an%Creset%x09%C(ul)%ad%Creset%x09%Creset%s"'
alias glw='git --no-pager log --since="last week" --pretty=format:"%C(yellow)%h%x09%C(cyan)%an%Creset%x09%C(ul)%ad%Creset%x09%Creset%s"'
alias glm='git --no-pager log --since="last month" --pretty=format:"%C(yellow)%h%x09%C(cyan)%an%Creset%x09%C(ul)%ad%Creset%x09%Creset%s"'
function ggg() {
git --no-pager show `git log --oneline | ag $1 | cut -c 1-7`
}
# this is like the default set of color codes for ls -G except that directories are cyan
export LSCOLORS="gxfxcxdxbxegedabagacad"
# http://rvm.beginrescueend.com/rvm/install/
# [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
# Pythonbrew
# https://github.com/utahta/pythonbrew
# [[ -s $HOME/.pythonbrew/etc/bashrc ]] && source $HOME/.pythonbrew/etc/bashrc
eval "$(rbenv init -)"
eval "$(pyenv init -)"
# Oracle Client
export ORACLE_HOME=/usr/local/Cellar/oracleinstantclient
# export DYLD_LIBRARY_PATH=$ORACLE_HOME
export PATH=$ORACLE_HOME:$PATH
alias oracle='cd /usr/local/Cellar/oracleinstantclient'
alias set_oracle="export DYLD_LIBRARY_PATH=$ORACLE_HOME"
# Java
export JAVA_HOME=`/usr/libexec/java_home -v 1.6`
# export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
# Other paths
export PATH=$HOME/.rbenv/shims:$PATH
export PATH=/usr/local/bin:$PATH
export PATH=~/bin:$PATH
export ANDROID_HOME=/Applications/adt-bundle-mac-x86_64-20131030/sdk
export PATH=/Applications/adt-bundle-mac-x86_64-20131030/sdk/tools:$PATH
export PATH=/Applications/adt-bundle-mac-x86_64-20131030/sdk/platform-tools:$PATH
export GOPATH=$HOME/Projects/go
export PATH=$PATH:$GOPATH/bin
setopt nocorrectall
unsetopt correct
source ~/.localrc
#!/bin/sh
# Clojure wrapper script.
# With no arguments runs Clojure's REPL.
# Put the Clojure jar from the cellar and the current folder in the classpath.
CLOJURE=$CLASSPATH:/usr/local/Cellar/clojure/1.4.0/clojure-1.4.0.jar:${PWD}
# if [ "$#" -eq 0 ]; then
# java -cp "$CLOJURE" clojure.main --repl
# else
# java -cp "$CLOJURE" clojure.main "$@"
# fi
breakchars="(){}[],^%$#@\"\";:''|\\"
CLOJURE_DIR=~/clojure
CLOJURE_JAR="$CLOJURE_DIR"/clojure.jar
if [ $# -eq 0 ]; then
exec rlwrap --remember -c -b "$breakchars" \
-f "$HOME"/.clj_completions \
java -cp "$CLOJURE" clojure.main
else
exec java -cp "$CLOJURE" clojure.main $1 -- "$@"
fi
#!/usr/bin/perl
# by entheon, do whatever the hell you want with this file
print "\n";
print "**************************\n";
print "*XTERM 256Color Test Chart\n";
print "**************************\n";
print "* 16 = black\n";
print "* 255 = white\n";
print "*\n";
print "* Usage:\n";
print "* colortest -w\n";
print "* wide display\n";
print "*\n";
print "* colortest -w -r\n";
print "* wide display reversed\n";
print "*\n";
print "* colortest -w -s\n";
print "* extra spaces padding\n";
print "*\n";
print "* colortest -w -r -s\n";
print "* available combination\n";
print "*\n";
print "**************************\n";
if( $ARGV[0] eq "-w" || $ARGV[1] eq "-w" || $ARGV[2] eq "-w" ) {
push(@arr, [( " 16: 00/00/00", " 17: 00/00/5f", " 18: 00/00/87", " 19: 00/00/af", " 20: 00/00/d7", " 21: 00/00/ff")] );
push(@arr, [( " 22: 00/5f/00", " 23: 00/5f/5f", " 24: 00/5f/87", " 25: 00/5f/af", " 26: 00/5f/d7", " 27: 00/5f/ff")] );
push(@arr, [( " 28: 00/87/00", " 29: 00/87/5f", " 30: 00/87/87", " 31: 00/87/af", " 32: 00/87/d7", " 33: 00/87/ff")] );
push(@arr, [( " 34: 00/af/00", " 35: 00/af/5f", " 36: 00/af/87", " 37: 00/af/af", " 38: 00/af/d7", " 39: 00/af/ff")] );
push(@arr, [( " 40: 00/d7/00", " 41: 00/d7/5f", " 42: 00/d7/87", " 43: 00/d7/af", " 44: 00/d7/d7", " 45: 00/d7/ff")] );
push(@arr, [( " 46: 00/ff/00", " 47: 00/ff/5f", " 48: 00/ff/87", " 49: 00/ff/af", " 50: 00/ff/d7", " 51: 00/ff/ff")] );
push(@arr, [( " 52: 5f/00/00", " 53: 5f/00/5f", " 54: 5f/00/87", " 55: 5f/00/af", " 56: 5f/00/d7", " 57: 5f/00/ff")] );
push(@arr, [( " 58: 5f/5f/00", " 59: 5f/5f/5f", " 60: 5f/5f/87", " 61: 5f/5f/af", " 62: 5f/5f/d7", " 63: 5f/5f/ff")] );
push(@arr, [( " 64: 5f/87/00", " 65: 5f/87/5f", " 66: 5f/87/87", " 67: 5f/87/af", " 68: 5f/87/d7", " 69: 5f/87/ff")] );
push(@arr, [( " 70: 5f/af/00", " 71: 5f/af/5f", " 72: 5f/af/87", " 73: 5f/af/af", " 74: 5f/af/d7", " 75: 5f/af/ff")] );
push(@arr, [( " 76: 5f/d7/00", " 77: 5f/d7/5f", " 78: 5f/d7/87", " 79: 5f/d7/af", " 80: 5f/d7/d7", " 81: 5f/d7/ff")] );
push(@arr, [( " 82: 5f/ff/00", " 83: 5f/ff/5f", " 84: 5f/ff/87", " 85: 5f/ff/af", " 86: 5f/ff/d7", " 87: 5f/ff/ff")] );
push(@arr, [( " 88: 87/00/00", " 89: 87/00/5f", " 90: 87/00/87", " 91: 87/00/af", " 92: 87/00/d7", " 93: 87/00/ff")] );
push(@arr, [( " 94: 87/5f/00", " 95: 87/5f/5f", " 96: 87/5f/87", " 97: 87/5f/af", " 98: 87/5f/d7", " 99: 87/5f/ff")] );
push(@arr, [( " 100: 87/87/00", " 101: 87/87/5f", " 102: 87/87/87", " 103: 87/87/af", " 104: 87/87/d7", " 105: 87/87/ff")] );
push(@arr, [( " 106: 87/af/00", " 107: 87/af/5f", " 108: 87/af/87", " 109: 87/af/af", " 110: 87/af/d7", " 111: 87/af/ff")] );
push(@arr, [( " 112: 87/d7/00", " 113: 87/d7/5f", " 114: 87/d7/87", " 115: 87/d7/af", " 116: 87/d7/d7", " 117: 87/d7/ff")] );
push(@arr, [( " 118: 87/ff/00", " 119: 87/ff/5f", " 120: 87/ff/87", " 121: 87/ff/af", " 122: 87/ff/d7", " 123: 87/ff/ff")] );
push(@arr, [( " 124: af/00/00", " 125: af/00/5f", " 126: af/00/87", " 127: af/00/af", " 128: af/00/d7", " 129: af/00/ff")] );
push(@arr, [( " 130: af/5f/00", " 131: af/5f/5f", " 132: af/5f/87", " 133: af/5f/af", " 134: af/5f/d7", " 135: af/5f/ff")] );
push(@arr, [( " 136: af/87/00", " 137: af/87/5f", " 138: af/87/87", " 139: af/87/af", " 140: af/87/d7", " 141: af/87/ff")] );
push(@arr, [( " 142: af/af/00", " 143: af/af/5f", " 144: af/af/87", " 145: af/af/af", " 146: af/af/d7", " 147: af/af/ff")] );
push(@arr, [( " 148: af/d7/00", " 149: af/d7/5f", " 150: af/d7/87", " 151: af/d7/af", " 152: af/d7/d7", " 153: af/d7/ff")] );
push(@arr, [( " 154: af/ff/00", " 155: af/ff/5f", " 156: af/ff/87", " 157: af/ff/af", " 158: af/ff/d7", " 159: af/ff/ff")] );
push(@arr, [( " 160: d7/00/00", " 161: d7/00/5f", " 162: d7/00/87", " 163: d7/00/af", " 164: d7/00/d7", " 165: d7/00/ff")] );
push(@arr, [( " 166: d7/5f/00", " 167: d7/5f/5f", " 168: d7/5f/87", " 169: d7/5f/af", " 170: d7/5f/d7", " 171: d7/5f/ff")] );
push(@arr, [( " 172: d7/87/00", " 173: d7/87/5f", " 174: d7/87/87", " 175: d7/87/af", " 176: d7/87/d7", " 177: d7/87/ff")] );
push(@arr, [( " 178: d7/af/00", " 179: d7/af/5f", " 180: d7/af/87", " 181: d7/af/af", " 182: d7/af/d7", " 183: d7/af/ff")] );
push(@arr, [( " 184: d7/d7/00", " 185: d7/d7/5f", " 186: d7/d7/87", " 187: d7/d7/af", " 188: d7/d7/d7", " 189: d7/d7/ff")] );
push(@arr, [( " 190: d7/ff/00", " 191: d7/ff/5f", " 192: d7/ff/87", " 193: d7/ff/af", " 194: d7/ff/d7", " 195: d7/ff/ff")] );
push(@arr, [( " 196: ff/00/00", " 197: ff/00/5f", " 198: ff/00/87", " 199: ff/00/af", " 200: ff/00/d7", " 201: ff/00/ff")] );
push(@arr, [( " 202: ff/5f/00", " 203: ff/5f/5f", " 204: ff/5f/87", " 205: ff/5f/af", " 206: ff/5f/d7", " 207: ff/5f/ff")] );
push(@arr, [( " 208: ff/87/00", " 209: ff/87/5f", " 210: ff/87/87", " 211: ff/87/af", " 212: ff/87/d7", " 213: ff/87/ff")] );
push(@arr, [( " 214: ff/af/00", " 215: ff/af/5f", " 216: ff/af/87", " 217: ff/af/af", " 218: ff/af/d7", " 219: ff/af/ff")] );
push(@arr, [( " 220: ff/d7/00", " 221: ff/d7/5f", " 222: ff/d7/87", " 223: ff/d7/af", " 224: ff/d7/d7", " 225: ff/d7/ff")] );
push(@arr, [( " 226: ff/ff/00", " 227: ff/ff/5f", " 228: ff/ff/87", " 229: ff/ff/af", " 230: ff/ff/d7", " 231: ff/ff/ff")] );
push(@arr, [( " 232: 08/08/08", " 233: 12/12/12", " 234: 1c/1c/1c", " 235: 26/26/26", " 236: 30/30/30", " 237: 3a/3a/3a")] );
push(@arr, [( " 238: 44/44/44", " 239: 4e/4e/4e", " 240: 58/58/58", " 241: 62/62/62", " 242: 6c/6c/6c", " 243: 76/76/76")] );
push(@arr, [( " 244: 80/80/80", " 245: 8a/8a/8a", " 246: 94/94/94", " 247: 9e/9e/9e", " 248: a8/a8/a8", " 249: b2/b2/b2")] );
push(@arr, [( " 250: bc/bc/bc", " 251: c6/c6/c6", " 252: d0/d0/d0", " 253: da/da/da", " 254: e4/e4/e4", " 255: ee/ee/ee")] );
if( $ARGV[0] eq "-s" || $ARGV[1] eq "-s" || $ARGV[2] eq "-s" ){
$padding = " ";
}
else {
}
# display in reverse order
if( $ARGV[0] eq "-r" || $ARGV[1] eq "-r" || $ARGV[2] eq "-r" ){
for( $dimone = 0; $dimone < scalar @arr; $dimone++ ) {
$seed = ($dimone % 6) * -1;
for( $dimtwo = 0; $dimtwo < 6; $dimtwo++ ) {
$movone = $seed;
$movtwo = $seed * -1;
print $arr[$dimone][$dimtwo] . $padding;
$seed = $seed+1;
}
print "\n";
}
}
else {
for( $dimone = 0; $dimone < scalar @arr; $dimone++ ) {
$seed = ($dimone % 6) * -1;
for( $dimtwo = 0; $dimtwo < 6; $dimtwo++ ) {
$movone = $seed;
$movtwo = $seed * -1;
$newone = $dimone+$movone;
$newtwo = $dimtwo+$movtwo;
if( $newone < scalar @arr ){
print $arr[$newone][$newtwo] . $padding;
}
$seed = $seed+1;
}
print "\n";
}
}
print "\n";
print "\n";
}
else {
print " 16: 00/00/00\n";
print " 17: 00/00/5f\n";
print " 18: 00/00/87\n";
print " 19: 00/00/af\n";
print " 20: 00/00/d7\n";
print " 21: 00/00/ff\n";
print " 22: 00/5f/00\n";
print " 23: 00/5f/5f\n";
print " 24: 00/5f/87\n";
print " 25: 00/5f/af\n";
print " 26: 00/5f/d7\n";
print " 27: 00/5f/ff\n";
print " 28: 00/87/00\n";
print " 29: 00/87/5f\n";
print " 30: 00/87/87\n";
print " 31: 00/87/af\n";
print " 32: 00/87/d7\n";
print " 33: 00/87/ff\n";
print " 34: 00/af/00\n";
print " 35: 00/af/5f\n";
print " 36: 00/af/87\n";
print " 37: 00/af/af\n";
print " 38: 00/af/d7\n";
print " 39: 00/af/ff\n";
print " 40: 00/d7/00\n";
print " 41: 00/d7/5f\n";
print " 42: 00/d7/87\n";
print " 43: 00/d7/af\n";
print " 44: 00/d7/d7\n";
print " 45: 00/d7/ff\n";
print " 46: 00/ff/00\n";
print " 47: 00/ff/5f\n";
print " 48: 00/ff/87\n";
print " 49: 00/ff/af\n";
print " 50: 00/ff/d7\n";
print " 51: 00/ff/ff\n";
print " 52: 5f/00/00\n";
print " 53: 5f/00/5f\n";
print " 54: 5f/00/87\n";
print " 55: 5f/00/af\n";
print " 56: 5f/00/d7\n";
print " 57: 5f/00/ff\n";
print " 58: 5f/5f/00\n";
print " 59: 5f/5f/5f\n";
print " 60: 5f/5f/87\n";
print " 61: 5f/5f/af\n";
print " 62: 5f/5f/d7\n";
print " 63: 5f/5f/ff\n";
print " 64: 5f/87/00\n";
print " 65: 5f/87/5f\n";
print " 66: 5f/87/87\n";
print " 67: 5f/87/af\n";
print " 68: 5f/87/d7\n";
print " 69: 5f/87/ff\n";
print " 70: 5f/af/00\n";
print " 71: 5f/af/5f\n";
print " 72: 5f/af/87\n";
print " 73: 5f/af/af\n";
print " 74: 5f/af/d7\n";
print " 75: 5f/af/ff\n";
print " 76: 5f/d7/00\n";
print " 77: 5f/d7/5f\n";
print " 78: 5f/d7/87\n";
print " 79: 5f/d7/af\n";
print " 80: 5f/d7/d7\n";
print " 81: 5f/d7/ff\n";
print " 82: 5f/ff/00\n";
print " 83: 5f/ff/5f\n";
print " 84: 5f/ff/87\n";
print " 85: 5f/ff/af\n";
print " 86: 5f/ff/d7\n";
print " 87: 5f/ff/ff\n";
print " 88: 87/00/00\n";
print " 89: 87/00/5f\n";
print " 90: 87/00/87\n";
print " 91: 87/00/af\n";
print " 92: 87/00/d7\n";
print " 93: 87/00/ff\n";
print " 94: 87/5f/00\n";
print " 95: 87/5f/5f\n";
print " 96: 87/5f/87\n";
print " 97: 87/5f/af\n";
print " 98: 87/5f/d7\n";
print " 99: 87/5f/ff\n";
print " 100 :87/87/00\n";
print " 101 :87/87/5f\n";
print " 102 :87/87/87\n";
print " 103 :87/87/af\n";
print " 104 :87/87/d7\n";
print " 105 :87/87/ff\n";
print " 106 :87/af/00\n";
print " 107 :87/af/5f\n";
print " 108 :87/af/87\n";
print " 109 :87/af/af\n";
print " 110 :87/af/d7\n";
print " 111 :87/af/ff\n";
print " 112 :87/d7/00\n";
print " 113 :87/d7/5f\n";
print " 114 :87/d7/87\n";
print " 115 :87/d7/af\n";
print " 116 :87/d7/d7\n";
print " 117 :87/d7/ff\n";
print " 118 :87/ff/00\n";
print " 119 :87/ff/5f\n";
print " 120 :87/ff/87\n";
print " 121 :87/ff/af\n";
print " 122 :87/ff/d7\n";
print " 123 :87/ff/ff\n";
print " 124 :af/00/00\n";
print " 125 :af/00/5f\n";
print " 126 :af/00/87\n";
print " 127 :af/00/af\n";
print " 128 :af/00/d7\n";
print " 129 :af/00/ff\n";
print " 130 :af/5f/00\n";
print " 131 :af/5f/5f\n";
print " 132 :af/5f/87\n";
print " 133 :af/5f/af\n";
print " 134 :af/5f/d7\n";
print " 135 :af/5f/ff\n";
print " 136 :af/87/00\n";
print " 137 :af/87/5f\n";
print " 138 :af/87/87\n";
print " 139 :af/87/af\n";
print " 140 :af/87/d7\n";
print " 141 :af/87/ff\n";
print " 142 :af/af/00\n";
print " 143 :af/af/5f\n";
print " 144 :af/af/87\n";
print " 145 :af/af/af\n";
print " 146 :af/af/d7\n";
print " 147 :af/af/ff\n";
print " 148 :af/d7/00\n";
print " 149 :af/d7/5f\n";
print " 150 :af/d7/87\n";
print " 151 :af/d7/af\n";
print " 152 :af/d7/d7\n";
print " 153 :af/d7/ff\n";
print " 154 :af/ff/00\n";
print " 155 :af/ff/5f\n";
print " 156 :af/ff/87\n";
print " 157 :af/ff/af\n";
print " 158 :af/ff/d7\n";
print " 159 :af/ff/ff\n";
print " 160 :d7/00/00\n";
print " 161 :d7/00/5f\n";
print " 162 :d7/00/87\n";
print " 163 :d7/00/af\n";
print " 164 :d7/00/d7\n";
print " 165 :d7/00/ff\n";
print " 166 :d7/5f/00\n";
print " 167 :d7/5f/5f\n";
print " 168 :d7/5f/87\n";
print " 169 :d7/5f/af\n";
print " 170 :d7/5f/d7\n";
print " 171 :d7/5f/ff\n";
print " 172 :d7/87/00\n";
print " 173 :d7/87/5f\n";
print " 174 :d7/87/87\n";
print " 175 :d7/87/af\n";
print " 176 :d7/87/d7\n";
print " 177 :d7/87/ff\n";
print " 178 :d7/af/00\n";
print " 179 :d7/af/5f\n";
print " 180 :d7/af/87\n";
print " 181 :d7/af/af\n";
print " 182 :d7/af/d7\n";
print " 183 :d7/af/ff\n";
print " 184 :d7/d7/00\n";
print " 185 :d7/d7/5f\n";
print " 186 :d7/d7/87\n";
print " 187 :d7/d7/af\n";
print " 188 :d7/d7/d7\n";
print " 189 :d7/d7/ff\n";
print " 190 :d7/ff/00\n";
print " 191 :d7/ff/5f\n";
print " 192 :d7/ff/87\n";
print " 193 :d7/ff/af\n";
print " 194 :d7/ff/d7\n";
print " 195 :d7/ff/ff\n";
print " 196 :ff/00/00\n";
print " 197 :ff/00/5f\n";
print " 198 :ff/00/87\n";
print " 199 :ff/00/af\n";
print " 200 :ff/00/d7\n";
print " 201 :ff/00/ff\n";
print " 202 :ff/5f/00\n";
print " 203 :ff/5f/5f\n";
print " 204 :ff/5f/87\n";
print " 205 :ff/5f/af\n";
print " 206 :ff/5f/d7\n";
print " 207 :ff/5f/ff\n";
print " 208 :ff/87/00\n";
print " 209 :ff/87/5f\n";
print " 210 :ff/87/87\n";
print " 211 :ff/87/af\n";
print " 212 :ff/87/d7\n";
print " 213 :ff/87/ff\n";
print " 214 :ff/af/00\n";
print " 215 :ff/af/5f\n";
print " 216 :ff/af/87\n";
print " 217 :ff/af/af\n";
print " 218 :ff/af/d7\n";
print " 219 :ff/af/ff\n";
print " 220 :ff/d7/00\n";
print " 221 :ff/d7/5f\n";
print " 222 :ff/d7/87\n";
print " 223 :ff/d7/af\n";
print " 224 :ff/d7/d7\n";
print " 225 :ff/d7/ff\n";
print " 226 :ff/ff/00\n";
print " 227 :ff/ff/5f\n";
print " 228 :ff/ff/87\n";
print " 229 :ff/ff/af\n";
print " 230 :ff/ff/d7\n";
print " 231 :ff/ff/ff\n";
print " 232 :08/08/08\n";
print " 233 :12/12/12\n";
print " 234 :1c/1c/1c\n";
print " 235 :26/26/26\n";
print " 236 :30/30/30\n";
print " 237 :3a/3a/3a\n";
print " 238 :44/44/44\n";
print " 239 :4e/4e/4e\n";
print " 240 :58/58/58\n";
print " 241 :62/62/62\n";
print " 242 :6c/6c/6c\n";
print " 243 :76/76/76\n";
print " 244 :80/80/80\n";
print " 245 :8a/8a/8a\n";
print " 246 :94/94/94\n";
print " 247 :9e/9e/9e\n";
print " 248 :a8/a8/a8\n";
print " 249 :b2/b2/b2\n";
print " 250 :bc/bc/bc\n";
print " 251 :c6/c6/c6\n";
print " 252 :d0/d0/d0\n";
print " 253 :da/da/da\n";
print " 254 :e4/e4/e4\n";
print " 255 :ee/ee/ee\n";
print "\n";
print "\n";
}
print "0m";
exit;
bundler
gem-ctags
#!/usr/bin/env ruby
require 'bundler'
paths = Bundler.load.specs.map(&:full_gem_path)
exclude = "--exclude=.git --exclude=log --exclude=tmp --exclude=spec/javascripts --exclude=.jhw-cache"
system("ctags -R #{exclude} #{paths.join(' ')} *")
system("cp tags .tags")
#!/usr/bin/env ruby
require 'bundler'
paths = Bundler.load.specs.map(&:full_gem_path)
system("ctags -R -f .gemtags #{paths.join(' ')}")
; (def completions (keys (ns-publics (find-ns 'clojure.core))))
(def completions (mapcat (comp keys ns-publics) (all-ns)))
(with-open [f (java.io.BufferedWriter. (java.io.FileWriter. (str (System/getenv "HOME") "/.clj_completions")))]
(.write f (apply str (interpose \newline completions))))
# Set $GIT_USER_NAME in ~/.zshrc
function git_user_name(){
local s="$(git config user.name)"
if test "$s" != "$GIT_USER_NAME"; then
echo "$s"
fi
}
function git_pair(){
if [ $1 ]; then # set pair name
git config user.name "$GIT_USER_NAME & $*"
else # back to basics
git config user.name "$GIT_USER_NAME"
fi
}
set thePath to (path to desktop as Unicode text) & "sites.txt"
set theFile to (open for access file thePath)
set theContent to (read theFile)
close access theFile
set theURLs to every paragraph of theContent
tell application "Safari"
repeat with theURL in theURLs
make new document
set URL of front document to theURL
delay 5
repeat until ((do JavaScript "document.readyState" in front document) is "complete")
delay 1
end repeat
close front document
end repeat
end tell
# osascript -e
tell application "iTerm"
tell the first terminal
# launch sessionon "PWD"
tell the current session
write text "pwd"
end tell
end tell
end tell
# osascript -e
tell application "iTerm"
tell the first terminal
# launch session "PWD"
tell the current session
write text "pwd"tell
end tell
end tell
end tell
# Based on steeef's and nebirhos' theme.
# Example:
# user current_directory [rvm][git]
# ♣ current_directory
# Use extended color pallete if available
# Linux (Gnome Terminal): export TERM="xterm-256color"
# Mac OS X (iTerm2): Preferences > Profiles > Terminal > Report Terminal Type
# xterm-256color
# More colors:
# for code in {000..255}; do print -P -- "$code: %F{$code}Test%f"; done
if [[ $TERM = *256color* || $TERM = *rxvt* ]]; then
white="%F{15}"
red="%F{1}"
turquoise="%F{81}"
darkorange="%F{166}"
orange="%F{214}"
purple="%F{135}"
hotpink="%F{161}"
limegreen="%F{118}"
else
white="$fg[white]"
red="$fg[red]"
turquoise="$fg[cyan]"
darkorange="$fg[red]"
orange="$fg[yellow]"
purple="$fg[magenta]"
hotpink="$fg[red]"
limegreen="$fg[green]"
fi
# Bold
boldwhite="$fg_bold[white]"
boldred="$fg_bold[red]"
# Get the current ruby version in use with RVM:
if [ -e ~/.rvm/bin/rvm-prompt ]; then
RUBY_PROMPT_="%{$boldwhite%}[%{$darkorange%}\$(~/.rvm/bin/rvm-prompt s i v g)%{$boldwhite%}]%{$reset_color%}"
else
if which rbenv &> /dev/null; then
RUBY_PROMPT_="%{$boldwhite%}[%{$darkorange%}\$(rbenv version | sed -e 's/ (set.*$//')%{$boldwhite%}]%{$reset_color%}"
fi
fi
if which pyenv &> /dev/null; then
PYTHON_PROMPT_="%{$boldwhite%}[%{$purple%}\$(pyenv version | sed -e 's/ (set.*$//')%{$boldwhite%}]%{$reset_color%}"
fi
# Promp
USR_DIR_PROMPT_="%{$hotpink%}%n: %{$turquoise%}%c "
GIT_PROMPT_="%{$boldwhite%}\$(git_prompt_info)%{$boldwhite%} % %{$reset_color%}"
ICON_PROMPT="
%{$red%} ♣ %{$reset_color%}"
PROMPT="$USR_DIR_PROMPT_$RUBY_PROMPT_$PYTHON_PROMPT_$GIT_PROMPT_$ICON_PROMPT"
# Right Promp
RPROMPT="%{$purple%}%c%{$reset_color%} \$(git_user_name)"
ZSH_THEME_GIT_PROMPT_PREFIX="[%{$limegreen%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DIRTY=" %{$red%}✹%{$boldwhite%}]%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$boldwhite%}]"
#!/usr/bin/env ruby
require 'ap'
require 'clipboard'
clip = Clipboard.paste
if clip =~ /^\s*http/
require 'uri'
require 'rack/utils'
uri = URI.parse(clip)
code = {
:host => uri.host,
:port => uri.port,
:path => uri.path,
:query => Rack::Utils.parse_query(uri.query),
}
else
code = eval(clip)
end
ap code
tmux has-session -t roro
if [ $? != 0 ]
then
tmux new-session -s roro -d
tmux send-keys -t roro 'ifconfig | grep "inet "' C-m
tmux send-keys -t roro 'tail -n 20 ~/.tmux.conf' C-m
tmux split-window -t roro -h
tmux attach -t roro
fi
tmux attach -t roro
delay 60
tell application "Finder" to sleep

General Setup

CURDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
ln -s $CURDIR/.zshrc $HOME/.zshrc
ln -s $CURDIR/.gitconfig $HOME/.gitconfig
ln -s $CURDIR/.gemrc $HOME/.gemrc
ln -s $CURDIR/.irbrc $HOME/.irbrc
ln -s $CURDIR/.ackrc $HOME/.ackrc
ln -s $CURDIR/.aprc $HOME/.aprc
ln -s $CURDIR/default-gems $HOME/.rbenv/default-gems
ln -s $CURDIR/.tmux.conf $HOME/.tmux.conf
ln -s $CURDIR/.vimrc.after $HOME/.vimrc.after
ln -s $CURDIR/.vimrc.before $HOME/.vimrc.before
ln -s $CURDIR/.growl $HOME/.growl
ln -s $CURDIR/.bundle_config $HOME/.bundle_config
ln -s $CURDIR/pretty /usr/local/bin/pretty
ln -s $CURDIR/roro /usr/local/bin/roro
ln -s $CURDIR/neocsr.zsh-theme $HOME/.oh-my-zsh/themes/neocsr.zsh-theme

Ruby / rbenv

mkdir -p ~/.rbenv/plugins
git clone git://github.com/jamis/rbenv-gemset.git ~/.rbenv/pluggins/rbenv-gemset
git clone git://github.com/dcarley/rbenv-sudo.git ~/.rbenv/plugins/rbenv-sudo
git clone https://github.com/sstephenson/rbenv-default-gems.git ~/.rbenv/plugins/rbenv-default-gems

Ruby ctags for stdlib, gems

rbenv ctags
gem ctags

Vim Plugins

Janus

Install in ~/.janus

git clone git://github.com/tpope/vim-surround.git
git clone https://bitbucket.org/tim_heap/linters.vim
git clone git://github.com/kana/vim-textobj-user.git
git clone git://github.com/nelstrom/vim-textobj-rubyblock.git
git clone git://github.com/henrik/vim-ruby-runner.git
git clone git://github.com/ervandew/screen.git
git clone git://github.com/adinapoli/vim-markmultiple.git
git clone git://github.com/basepi/vim-conque.git
git clone git://github.com/skwp/vim-ruby-conque.git
git clone git://github.com/rcyrus/snipmate-snippets-rubymotion.git
git clone git://github.com/skalnik/vim-vroom.git
git clone git://github.com/rorymckinley/vim-rubyhash.git
git clone git://github.com/fatih/subvim.git

Ruby Workflow

http://velvetpulse.com/2012/11/19/improve-your-ruby-workflow-by-integrating-vim-tmux-pry/

git clone git@github.com:neocsr/irb-config.git ~/.irb
cd ~/.irb
make install

Replace ack with the_silver_search

brew install the_silver_searcher

tmux setup

tmux clipboard fix (Mac)

brew install reattach-to-user-namespace

tmux clipboard fix (Linux)

sudo apt-get install xclip

tmux pair programming

Mac

http://jjasonclark.com/Remote-Pairing-with-SSH-and-Tmux-on-a-Mac

Linux

tmux@puzzles$ sudo adduser ted
tmux@puzzles$ sudo adduser barney
tmux@puzzles$ sudo addgroup tmux
tmux@puzzles$ sudo mkdir /var/tmux
tmux@puzzles$ sudo chgrp tmux /var/tmux
tmux@puzzles$ sudo chmod g+ws /var/tmux
tmux@puzzles$ sudo usermod -aG tmux ted
tmux@puzzles$ sudo usermod -aG tmux barney

ted@puzzles$    tmux -S /var/tmux/pairing
barney@puzzles$ tmux -S /var/tmux/pairing attach

Color test

perl colortest -w
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment