Last active
June 7, 2019 13:31
-
-
Save dominicsayers/0f8e6fe6621714c92764 to your computer and use it in GitHub Desktop.
Dominic's bash & zsh shell config
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Dominic's configuration files for `zsh` and `bash` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi | |
### Added manually by Dominic | |
export EDITOR="code --wait" | |
export BUNDLER_EDITOR="code" | |
dev () { | |
cd ~/Development/openc/$1 | |
} | |
devd () { | |
cd ~/Development/dominicsayers/$1 | |
} | |
devx () { | |
cd ~/Development/Xenapto/$1 | |
} | |
## Rails with binstubs | |
bra () { | |
./bin/rails "$@" | |
} | |
brc () { | |
./bin/rails console | |
} | |
brs () { | |
./bin/rspec "$@" | |
} | |
bru () { | |
./bin/rubocop "$@" | |
} | |
alias ls='ls -GFh' | |
alias cat='ccat' | |
alias less='cless' | |
### End of added manually by Dominic | |
export PATH="/usr/local/opt/[email protected]/bin:/Users/dominic/bin:$PATH" | |
export PATH="/usr/local/opt/mysql-client/bin:$PATH" | |
export PATH="/usr/local/opt/[email protected]/bin:$PATH" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
### Added manually by Dominic | |
dev () { | |
cd /mnt/d/Users/Dominic/Development/dominicsayers/$1 | |
} | |
## Rails with binstubs | |
bra () { | |
./bin/rails "$@" | |
} | |
brc () { | |
./bin/rails console "$@" | |
} | |
brs () { | |
./bin/rspec "$@" | |
} | |
bru () { | |
./bin/rubocop "$@" | |
} | |
## bundle exec | |
be () { | |
bundle exec "$@" | |
} | |
r () { | |
bundle exec rake "$@" | |
} | |
re () { | |
bundle exec rake environment "$@" | |
} | |
c () { | |
bundle exec rails console | |
} | |
s () { | |
bundle exec rails server -b* "$@" | |
} | |
# rubocop | |
rc () { | |
bundle exec rubocop --parallel $@ `git ls-files` | |
} | |
rcac () { | |
bundle exec rubocop --auto-correct $@ `git ls-files` | |
} | |
rcagc () { | |
bundle exec rubocop --auto-gen-config --exclude-limit 999 --no-offense-counts `git ls-files` | |
} | |
# git | |
gs () { | |
git status | |
} | |
gc () { | |
git commit "$@" | |
} | |
gch () { | |
git checkout "$@" | |
} | |
gp () { | |
git push "$@" | |
} | |
gac () { | |
git add . && git rebase --continue | |
} | |
gbd () { | |
git branch -d "$@" | |
} | |
gpf () { | |
git push --force-with-lease | |
} | |
gri () { | |
git rebase -i $@ | |
} | |
# get current branch in git repo | |
function parse_git_branch() { | |
BRANCH=`git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'` | |
if [ ! "${BRANCH}" == "" ] | |
then | |
STAT=`parse_git_dirty` | |
echo "[${BRANCH}${STAT}]" | |
else | |
echo "" | |
fi | |
} | |
# get current status of git repo | |
function parse_git_dirty { | |
status=`git status 2>&1 | tee` | |
dirty=`echo -n "${status}" 2> /dev/null | grep "modified:" &> /dev/null; echo "$?"` | |
untracked=`echo -n "${status}" 2> /dev/null | grep "Untracked files" &> /dev/null; echo "$?"` | |
ahead=`echo -n "${status}" 2> /dev/null | grep "Your branch is ahead of" &> /dev/null; echo "$?"` | |
newfile=`echo -n "${status}" 2> /dev/null | grep "new file:" &> /dev/null; echo "$?"` | |
renamed=`echo -n "${status}" 2> /dev/null | grep "renamed:" &> /dev/null; echo "$?"` | |
deleted=`echo -n "${status}" 2> /dev/null | grep "deleted:" &> /dev/null; echo "$?"` | |
bits='' | |
if [ "${renamed}" == "0" ]; then | |
bits=">${bits}" | |
fi | |
if [ "${ahead}" == "0" ]; then | |
bits="*${bits}" | |
fi | |
if [ "${newfile}" == "0" ]; then | |
bits="+${bits}" | |
fi | |
if [ "${untracked}" == "0" ]; then | |
bits="?${bits}" | |
fi | |
if [ "${deleted}" == "0" ]; then | |
bits="x${bits}" | |
fi | |
if [ "${dirty}" == "0" ]; then | |
bits="!${bits}" | |
fi | |
if [ ! "${bits}" == "" ]; then | |
echo " ${bits}" | |
else | |
echo "" | |
fi | |
} | |
# Prompt colors | |
export PS1="\[\033[38;5;220m\]\u@\h\[$(tput sgr0)\]\[\033[38;5;15m\]:\[$(tput sgr0)\]\[\033[38;5;70m\]\W\[$(tput sgr0)\]\[\033[38;5;15m\] \[$(tput sgr0)\]\[\033[38;5;11m\]\`parse_git_branch\`\[$(tput sgr0)\]\[\033[38;5;15m\]\\$\[$(tput sgr0)\] " | |
# Colors | |
LS_COLORS='rs=0:di=1;35:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:'; | |
export LS_COLORS | |
# Key bindings | |
bind '"\eOD": backward-word' | |
bind '"\eOC": forward-word' | |
bind '"\e[1~": beginning-of-line' | |
bind '"\e[4~": end-of-line' | |
### End of added manually by Dominic |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment