Skip to main content

Shell Config

# Custom aliases by yours truly!
alias sudo="sudo " # this makes aliases useable with sudo
alias nv="nvim"
alias edit-z="nv $ZSH_CUSTOM/custom.zsh"
alias zource="source ~/.zshrc"
alias edit-v="nv ~/.vimrc"

# git aliases
alias gl='git pull'
alias gco='git checkout'
alias gcb='git checkout -b'
alias ga='git add'
alias gaa='git add -A'
alias gr='git reset'
alias gcm='git commit -m'
alias gcma='git commit --all -m'
alias gca='git commit --amend --no-edit'
alias gcam='git commit --amend -m '
alias gcaa='git commit --all --amend --no-edit'
alias gcaam='git commit --all --amend --no-edit -m'
alias gp='git push'
alias gpf='git push --force-with-lease --force-if-includes'
alias gst='git status'
alias gd='git diff'
alias gm='git merge'
alias grb='git rebase'
alias gsh='git stash' # not great, but conflicts with git status
alias glg='git log'
alias glo='git log --oneline'
# remove all local branches which have been merged, excluding master/main/dev
alias git-delete-merged='git branch --merged | egrep -v "(^\*|master|main|dev)" | xargs git branch -d'
function gsh_clear_range () {
  for n in {$1..$2}
  do
  git stash drop stash@{$1}
  done
}

alias fvmdo='fvm flutter'

alias diff-head="git diff \$(git merge-base master HEAD) HEAD"
alias diff-head-name="git diff --name-only \$(git merge-base master HEAD) HEAD"


# Custom commands by yours truly!
notes(){touch ~/dev/worknotes/"$1".md}
#use mkcd by oh-my-zsh instead!
#mkgo(){mkdir "$1" && cd "$1"}


# Custom Path updates by yours truly!
#openjdk
export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"
#export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8)
export JAVA_11_HOME=$(/usr/libexec/java_home -v11)
#export JAVA_14_HOME=$(/usr/libexec/java_home -v14)
export JAVA_17_HOME=$(/usr/libexec/java_home -v17)
export JAVA_LATEST_HOME=$(/usr/libexec/java_home)
export JAVA_HOME=JAVA_17_HOME
alias use-java11='export JAVA_HOME=$JAVA_11_HOME'
alias use-java17='export JAVA_HOME=$JAVA_17_HOME'
alias use-java-latest='export JAVA_HOME=$JAVA_LATEST_HOME'


# ignore commands for history if they start with a space
export HISTCONTROL=ignorespace

# ignore duplicates in history
setopt HIST_EXPIRE_DUPS_FIRST
setopt HIST_IGNORE_DUPS
setopt HIST_IGNORE_ALL_DUPS
setopt HIST_IGNORE_SPACE
setopt HIST_FIND_NO_DUPS
setopt HIST_SAVE_NO_DUPS