Last active
January 31, 2023 09:22
-
-
Save felipesabino/5859240 to your computer and use it in GitHub Desktop.
Bash setup
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
# original from: https://github.com/addyosmani/dotfiles/blob/master/.aliases | |
# Easier navigation: .., ..., ~ and - | |
alias ..="cd .." | |
alias ...="cd ../.." | |
alias ....="cd ../../.." | |
alias .....="cd ../../../.." | |
alias ~="cd ~" # `cd` is probably faster to type though | |
alias -- -="cd -" | |
# programs | |
alias st='open -a "Sublime Text 2"' | |
# also/or do this: | |
# ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl | |
alias preview="open -a '$PREVIEW'" | |
alias xcode="open -a '/Applications/Xcode.app'" | |
alias filemerge="open -a '/Developer/Applications/Utilities/FileMerge.app'" | |
alias safari="open -a safari" | |
alias firefox="open -a firefox" | |
alias opera="open -a opera" | |
alias chrome="open -a google\ chrome" | |
alias chromium="open -a chromium" | |
alias dashcode="open -a dashcode" | |
alias f='open -a Finder' | |
# general shortcuts | |
alias pro="cd ~/projetos" | |
# removed due to http://nodegh.io/ | |
# alias gh="open -a google\ chrome 'http://github.com/felipesabino'" | |
alias bl="open -a google\ chrome 'http://browserling.com'" | |
# be nice | |
alias please=sudo | |
# handy things | |
alias spotify="osascript ~/code/SpotifyControl/SpotifyControl.scpt" | |
# Detect which `ls` flavor is in use | |
if ls --color > /dev/null 2>&1; then # GNU `ls` | |
colorflag="--color" | |
else # OS X `ls` | |
colorflag="-G" | |
fi | |
#sound reset | |
alias resetsound="sudo kill -9 `ps ax|grep 'coreaudio[a-z]' |awk '{print $1}'`" | |
# List all files colorized in long format | |
alias l="ls -l ${colorflag}" | |
# List all files colorized in long format, including dot files | |
alias la="ls -la ${colorflag}" | |
# List only directories | |
alias lsd='ls -l | grep "^d"' | |
# Always use color output for `ls` | |
if [[ "$OSTYPE" =~ ^darwin ]]; then | |
alias ls="command ls -G" | |
else | |
alias ls="command ls --color" | |
export LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=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:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.ogg=01;35:*.mp3=01;35:*.wav=01;35:' | |
fi | |
# GIT STUFF | |
# Undo a `git push` | |
alias undopush="git push -f origin HEAD^:master" | |
alias apply-gitignore="git ls-files -ci --exclude-standard -z | xargs -0 git rm --cached" | |
alias gitk='gitk 2>/dev/null' | |
# git root | |
alias gr='[ ! -z `git rev-parse --show-cdup` ] && cd `git rev-parse --show-cdup || pwd`' | |
# IP addresses | |
alias ip="dig +short myip.opendns.com @resolver1.opendns.com" | |
alias localip="ipconfig getifaddr en1" | |
alias ips="ifconfig -a | perl -nle'/(\d+\.\d+\.\d+\.\d+)/ && print $1'" | |
#alias ips2="ifconfig | awk '/inet/ {print substr($0, index($0, $2))}' | awk '/ netmask/ {print $1}'" | |
# Enhanced WHOIS lookups | |
alias whois="whois -h whois-servers.net" | |
# Flush Directory Service cache | |
alias flush="dscacheutil -flushcache" | |
alias dnsflush="sudo killall -HUP mDNSResponder" | |
alias flushdns="sudo killall -HUP mDNSResponder" | |
# View HTTP traffic | |
alias sniff="sudo ngrep -d 'en1' -t '^(GET|POST) ' 'tcp and port 80'" | |
alias httpdump="sudo tcpdump -i en1 -n -s 0 -w - | grep -a -o -E \"Host\: .*|GET \/.*\"" | |
# OS X has no `md5sum`, so use `md5` as a fallback | |
type -t md5sum > /dev/null || alias md5sum="md5" | |
# Trim new lines and copy to clipboard | |
alias c="tr -d '\n' | pbcopy" | |
# Recursively delete `.DS_Store` files | |
alias cleanup="find . -name '*.DS_Store' -type f -ls -delete" | |
# Shortcuts | |
alias g="git" | |
alias v="vim" | |
alias s="subl" | |
# File size | |
alias fs="stat -f \"%z bytes\"" | |
# ROT13-encode text. Works for decoding, too! ;) | |
alias rot13='tr a-zA-Z n-za-mN-ZA-M' | |
# Empty the Trash on all mounted volumes and the main HDD | |
alias emptytrash="sudo rm -rfv /Volumes/*/.Trashes 2> /dev/null ; rm -rfv ~/.Trash 2> /dev/null" | |
alias emptyderived="sudo rm -rvf ~/Library/Developer/Xcode/DerivedData/* 2> /dev/null" | |
# Hide/show all desktop icons (useful when presenting) | |
alias hidedesktop="defaults write com.apple.finder CreateDesktop -bool false && killall Finder" | |
alias showdesktop="defaults write com.apple.finder CreateDesktop -bool true && killall Finder" | |
# PlistBuddy alias, because sometimes `defaults` just doesn’t cut it | |
alias plistbuddy="/usr/libexec/PlistBuddy" | |
# One of @janmoesen’s ProTip™s | |
for method in GET HEAD POST PUT DELETE TRACE OPTIONS; do | |
alias "$method"="lwp-request -m '$method'" | |
done | |
# Stuff I never really use but cannot delete either because of http://xkcd.com/530/ | |
alias stfu="osascript -e 'set volume output muted true'" | |
alias pumpitup="osascript -e 'set volume 10'" | |
alias hax="growlnotify -a 'Activity Monitor' 'System error' -m 'WTF R U DOIN'" | |
# HAHA | |
alias ny='telnet nyan.howes.net.nz' |
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
# Load files | |
for file in ~/.{bash_prompt,exports,aliases,functions}; do | |
[ -r "$file" ] && source "$file" | |
done | |
unset file | |
# RVM, NVM and other stuff goes here... |
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
# GIT | |
if [ -f `brew --prefix`/etc/bash_completion ]; then | |
. `brew --prefix`/etc/bash_completion | |
fi | |
# PS1 | |
RESET="\[\017\]" | |
NORMAL="\[\033[0m\]" | |
RED="\[\033[31;1m\]" | |
YELLOW="\[\033[33;1m\]" | |
WHITE="\[\033[37;1m\]" | |
SELECT="if [ \$? = 0 ]; then echo \"${YELLOW}\"; else echo \"${RED}\"; fi" | |
#export PS1="\w \[\033[0;33m\]$(__git_ps1) \[\033[0m\] >$ " | |
export PS1="${RESET} \`${SELECT}\`\w ${WHITE}\$(__git_ps1) ${NORMAL}\$ " |
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
# Make vim the default editor | |
export EDITOR="vim" | |
# Don’t clear the screen after quitting a manual page | |
export MANPAGER="less -X" | |
# Larger bash history (allow 32³ entries; default is 500) | |
export HISTSIZE=32768 | |
export HISTFILESIZE=$HISTSIZE | |
export HISTCONTROL=ignoredups | |
# Make some commands not show up in history | |
# export HISTIGNORE="ls:ls *:cd:cd -:pwd;exit:date:* --help" |
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
# BEGIN MARKS # | |
# http://jeroenjanssens.com/2013/08/16/quickly-navigate-your-filesystem-from-the-command-line.html | |
export MARKPATH=$HOME/.marks | |
function jump { | |
cd -P $MARKPATH/$1 2>/dev/null || echo "No such mark: $1" | |
} | |
function mark { | |
mkdir -p $MARKPATH; ln -s $(pwd) $MARKPATH/$1 | |
} | |
function unmark { | |
rm -i $MARKPATH/$1 | |
} | |
function marks { | |
\ls -l "$MARKPATH" | tail -n +2 | sed 's/ / /g' | cut -d' ' -f9- | awk -F ' -> ' '{printf "%-10s -> %s\n", $1, $2}' | |
} | |
# END MARKS # | |
# Create a new directory and enter it | |
function md() { | |
mkdir -p "$@" && cd "$@" | |
} | |
# find shorthand | |
function f() { | |
find . -name "$1" | |
} | |
# Start an HTTP server from a directory, optionally specifying the port | |
function server() { | |
local port="${1:-8000}" | |
open "http://localhost:${port}/" | |
# Set the default Content-Type to `text/plain` instead of `application/octet-stream` | |
# And serve everything as UTF-8 (although not technically correct, this doesn’t break anything for binary files) | |
python -c $'import SimpleHTTPServer;\nmap = SimpleHTTPServer.SimpleHTTPRequestHandler.extensions_map;\nmap[""] = "text/plain";\nfor key, value in map.items():\n\tmap[key] = value + ";charset=UTF-8";\nSimpleHTTPServer.test();' "$port" | |
} | |
# git log with per-commit cmd-clickable GitHub URLs (iTerm) | |
function gf() { | |
local remote="$(git remote -v | awk '/^origin.*\(push\)$/ {print $2}')" | |
[[ "$remote" ]] || return | |
local user_repo="$(echo "$remote" | perl -pe 's/.*://;s/\.git$//')" | |
git log $* --name-status --color | awk "$(cat <<AWK | |
/^.*commit [0-9a-f]{40}/ {sha=substr(\$2,1,7)} | |
/^[MA]\t/ {printf "%s\thttps://github.com/$user_repo/blob/%s/%s\n", \$1, sha, \$2; next} | |
/.*/ {print \$0} | |
AWK | |
)" | less -F | |
} | |
# Copy w/ progress | |
cp_p () { | |
rsync -WavP --human-readable --progress $1 $2 | |
} | |
# Test if HTTP compression (RFC 2616 + SDCH) is enabled for a given URL. | |
# Send a fake UA string for sites that sniff it instead of using the Accept-Encoding header. (Looking at you, ajax.googleapis.com!) | |
function httpcompression() { | |
encoding="$(curl -LIs -H 'User-Agent: Mozilla/5 Gecko' -H 'Accept-Encoding: gzip,deflate,compress,sdch' "$1" | grep '^Content-Encoding:')" && echo "$1 is encoded using ${encoding#* }" || echo "$1 is not using any encoding" | |
} | |
# Syntax-highlight JSON strings or files | |
function json() { | |
if [ -p /dev/stdin ]; then | |
# piping, e.g. `echo '{"foo":42}' | json` | |
python -mjson.tool | pygmentize -l javascript | |
else | |
# e.g. `json '{"foo":42}'` | |
python -mjson.tool <<< "$*" | pygmentize -l javascript | |
fi | |
} | |
# prune a set of empty directories | |
function prunedir () { | |
find $* -type d -empty -print0 | xargs -0r rmdir -p ; | |
} | |
# take this repo and copy it to somewhere else minus the .git stuff. | |
function gitexport(){ | |
mkdir -p "$1" | |
git archive master | tar -x -C "$1" | |
} | |
# get gzipped size | |
function gz() { | |
echo "orig size (bytes): " | |
cat "$1" | wc -c | |
echo "gzipped size (bytes): " | |
gzip -c "$1" | wc -c | |
} | |
# All the dig info | |
function digga() { | |
dig +nocmd "$1" any +multiline +noall +answer | |
} | |
function digit() { | |
dig "$1" +nostats +nocomments +nocmd | |
} | |
# Escape UTF-8 characters into their 3-byte format | |
function escape() { | |
printf "\\\x%s" $(printf "$@" | xxd -p -c1 -u) | |
echo # newline | |
} | |
# Decode \x{ABCD}-style Unicode escape sequences | |
function unidecode() { | |
perl -e "binmode(STDOUT, ':utf8'); print \"$@\"" | |
echo # newline | |
} | |
# Launch installed browsers for a specific URL | |
# Usage: browsers "http://www.google.com" | |
function browsers(){ | |
chrome $1 | |
opera $1 | |
firefox $1 | |
safari $1 | |
} | |
function showmerge(){ | |
if [ $2 ] | |
then | |
git logm $1 | grep "Merge branch '$2'" | |
else | |
git logm | grep "Merge branch '$1'" | |
fi | |
} | |
# Browserstack shortcuts, now with added hotness thanks to the Browserstack team. | |
# Note, a trial or paid for account is needed for this to work | |
# Usage: ipad3 "http://www.google.com", win7ie8 "http://www.google.com" etc. | |
# For local server running on port 3000, use like this | |
# Usage: ipad3 "http://localhost:3000" "localhost,3000,0", win7ie8 "http://localhost:3000" "localhost,3000,0" etc. | |
# For local server running on apache with ssl as staging.example.com and https://staging.example.com | |
# Usage: ipad3 "http://staging.example.com" "staging.example.com,80,0,staging.example.com,443,1", win7ie8 "http://staging.example.com" "staging.example.com,80,0,staging.example.com,443,1" etc. | |
function openurl(){ | |
if [ $2 ] | |
then | |
url=$1"&host_ports=$2" | |
fi | |
open -a google\ chrome ${url} | |
} | |
function androidnexus(){ | |
local url="http://www.browserstack.com/start#os=android&os_version=4.0.3&device=Samsung+Galaxy+Nexus&zoom_to_fit=true&url=$1&start=true" | |
openurl $url $2 | |
} | |
function ipad3(){ | |
local url="http://www.browserstack.com/start#os=ios&os_version=5.1&device=iPad+3rd&zoom_to_fit=true&resolution=1024x768&speed=1&url=$1&start=true" | |
openurl $url $2 | |
} | |
function ipad3ios6(){ | |
local url="http://www.browserstack.com/start#os=ios&os_version=6.1&device=iPad+3rd&zoom_to_fit=true&resolution=1024x768&speed=1&url=$1&start=true" | |
openurl $url $2 | |
} | |
function ipad2(){ | |
local url="http://www.browserstack.com/start#os=ios&os_version=5.1&device=iPad+2nd&zoom_to_fit=true&resolution=1024x768&speed=1&url=$1&start=true" | |
openurl $url $2 | |
} | |
function win7ie8(){ | |
local url="http://www.browserstack.com/start#os=Windows&os_version=7&browser=IE&browser_version=8.0&zoom_to_fit=true&resolution=1024x768&speed=1&url=$1&start=true" | |
openurl $url $2 | |
} | |
function win7ie9(){ | |
local url="http://www.browserstack.com/start#os=Windows&os_version=7&browser=IE&browser_version=9.0&zoom_to_fit=true&resolution=1024x768&speed=1&url=$1&start=true" | |
openurl $url $2 | |
} | |
function win8ie10(){ | |
local url="http://www.browserstack.com/start#os=Windows&os_version=8&browser=IE&browser_version=10.0&zoom_to_fit=true&resolution=1024x768&speed=1&url=$1&start=true" | |
openurl $url $2 | |
} | |
function winxpie8(){ | |
local url="http://www.browserstack.com/start#os=Windows&os_version=XP&browser=IE&browser_version=8.0&zoom_to_fit=true&resolution=1024x768&speed=1&url=$1&start=true" | |
openurl $url $2 | |
} | |
function winxpie7(){ | |
local url="http://www.browserstack.com/start#os=Windows&os_version=XP&browser=IE&browser_version=7.0&zoom_to_fit=true&resolution=1024x768&speed=1&url=$1&start=true" | |
openurl $url $2 | |
} | |
function winxpie6(){ | |
local url="http://www.browserstack.com/start#os=Windows&os_version=XP&browser=IE&browser_version=6.0&zoom_to_fit=true&resolution=1024x768&speed=1&url=$1&start=true" | |
openurl $url $2 | |
} | |
function win7chrome(){ | |
local url="http://www.browserstack.com/start#os=Windows&os_version=7&browser=Chrome&browser_version=21.0&zoom_to_fit=true&resolution=1024x768&speed=1&url=$1&start=true" | |
openurl $url $2 | |
} | |
function win7ff(){ | |
local url="http://www.browserstack.com/start#os=Windows&os_version=7&browser=Firefox&browser_version=16.0&zoom_to_fit=true&resolution=1024x768&speed=1&url=$1&start=true" | |
openurl $url $2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment