Skip to content

Instantly share code, notes, and snippets.

@cjhowald
Last active March 26, 2022 20:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save cjhowald/33336c103d49659e14c40e884506fa0f to your computer and use it in GitHub Desktop.
Save cjhowald/33336c103d49659e14c40e884506fa0f to your computer and use it in GitHub Desktop.
Zsh + oh my zsh config
# Path to your oh-my-zsh installation.
export LC_ALL=en_US.utf-8
export LANG=en_US.utf-8
export ZSH=/Users/colinhowald/.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="robbyrussell"
# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"
# Uncomment the following line to use hyphen-insensitive completion. Case
# sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"
# Uncomment the following line to change how often to auto-update (in days).
# export UPDATE_ZSH_DAYS=13
# Uncomment the following line to disable auto-setting terminal title.
DISABLE_AUTO_TITLE="true"
# Uncomment the following line to display red dots whilst waiting for completion.
# COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# HIST_STAMPS="mm/dd/yyyy"
# 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)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git scala history history-substring-search brew jump mvn npm yarn sudo pip ruby python)
# User configuration
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin:/usr/local/share/dotnet"
# export MANPATH="/usr/local/man:$MANPATH"
export PATH=/usr/local/opt/python/Frameworks/Python.framework/Versions/3.7/bin/:$PATH
export PATH=$PATH:$HOME/.dotnet/tools
# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
# export EDITOR='vim'
# else
# export EDITOR='mvim'
# fi
# Compilation flags
# export ARCHFLAGS="-arch x86_64"
# ssh
# export SSH_KEY_PATH="~/.ssh/dsa_id"
# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
alias flushdns="sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder"
alias zshconfig="emacs ~/.zshrc"
alias ohmyzsh="emacs ~/.oh-my-zsh"
alias npmlink="\ls -F node_modules | sed -n 's/@$//p'"
alias restart=". ~/.zshrc"
eval $(thefuck --alias fuck)
alias killtag=deleteTag
alias awsconfig="emacs ~/.aws/config"
alias configlocal="source ~/env_vars.sh"
alias linked="( ls -l node_modules ; ls -l node_modules/@* ) | grep ^l"
j() {
jump $1 && tabset $1
}
deleteTag() {
git tag -d $1
git push origin :refs/tags/$1
}
showPort() {
lsof -i tcp:$1
}
killPort() {
lsof -i tcp:$1 | awk 'NR!=1 {print $2}' | xargs kill -9
}
alias port=showPort
alias killport=killPort
alias weather="curl wttr.in"
alias dynamolocal="java -Dlibrary.path=~/Library/dynamodb_local_latest/DynamoDBLocal_lib -jar ~/Library/dynamodb_local_latest/DynamoDBLocal.jar -sharedDb -port 9000 &"
# git-related aliases
alias recent='for k in `git branch | perl -pe s/^..//`; do echo -e `git show --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k -- | head -n 1`\\t$k; done | sort -r | head'
alias listr="git for-each-ref refs/remotes/ --format='%(authorname) %(refname)' --sort=authorname"
export SCALA_HOME="/usr/local/share/scala"
export PATH="/usr/local/sbin:$PATH:$SCALA_HOME/bin"
source /usr/local/share/zsh-autosuggestions/zsh-autosuggestions.zsh
source $ZSH/oh-my-zsh.sh
source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
# added by travis gem
[ -f /Users/colinhowald/.travis/travis.sh ] && source /Users/colinhowald/.travis/travis.sh
export PATH="/usr/local/opt/ruby@2.3/bin:$PATH"
# tabtab source for serverless package
# uninstall by removing these lines or running `tabtab uninstall serverless`
[[ -f /usr/local/lib/node_modules/serverless/node_modules/tabtab/.completions/serverless.zsh ]] && . /usr/local/lib/node_modules/serverless/node_modules/tabtab/.completions/serverless.zsh
# tabtab source for sls package
# uninstall by removing these lines or running `tabtab uninstall sls`
[[ -f /usr/local/lib/node_modules/serverless/node_modules/tabtab/.completions/sls.zsh ]] && . /usr/local/lib/node_modules/serverless/node_modules/tabtab/.completions/sls.zsh
export AWS_SDK_LOAD_CONFIG=true
export PATH="$PATH:$HOME/.rbenv/bin"
# python uses brew installed python3 (rather than system python2)
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
eval "$(rbenv init -)"
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completionexport PATH="/usr/local/opt/openssl/bin:$PATH"
# Source chtf
if [[ -f /usr/local/opt/chtf/share/chtf/chtf.sh ]]; then
source "/usr/local/opt/chtf/share/chtf/chtf.sh"
fi
# tabtab source for slss package
# uninstall by removing these lines or running `tabtab uninstall slss`
[[ -f /Users/colinhowald/.nvm/versions/node/v8.12.0/lib/node_modules/serverless/node_modules/tabtab/.completions/slss.zsh ]] && . /Users/colinhowald/.nvm/versions/node/v8.12.0/lib/node_modules/serverless/node_modules/tabtab/.completions/slss.zsh
@cjhowald
Copy link
Author

cjhowald commented Apr 22, 2020

  1. Install oh-my-zsh
  2. Copy & paste this file into ~/.zshrc
  3. Fix the the username: replace colinhowald with your username and confirm the path is correct
  4. Install this guy
  5. Install zsh-auto-suggestions (or remove from ~/.zshrc)
  6. Install zsh-syntax-highlighting (or remove from ~/.zshrc)

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