Last active
January 10, 2021 22:42
-
-
Save AdamMescher/00f5383a9fb27bc40605fa1dabaaf4c3 to your computer and use it in GitHub Desktop.
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
# Run neofetch every time terminal opens | |
neofetch | |
# If you come from bash you might have to change your $PATH. | |
# export PATH=$HOME/bin:/usr/local/bin:$PATH | |
# Path to your oh-my-zsh installation. | |
export ZSH="/home/adam/.oh-my-zsh" | |
# Set name of the theme to load --- if set to "random", it will | |
# load a random theme each time oh-my-zsh is loaded, in which case, | |
# to know which specific one was loaded, run: echo $RANDOM_THEME | |
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes | |
ZSH_THEME="agnoster" | |
# Set list of themes to pick from when loading at random | |
# Setting this variable when ZSH_THEME=random will cause zsh to load | |
# a theme from this variable instead of looking in ~/.oh-my-zsh/themes/ | |
# If set to an empty array, this variable will have no effect. | |
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" ) | |
# 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 disable bi-weekly auto-update checks. | |
# DISABLE_AUTO_UPDATE="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 colors in ls. | |
# DISABLE_LS_COLORS="true" | |
# Uncomment the following line to disable auto-setting terminal title. | |
# DISABLE_AUTO_TITLE="true" | |
# Uncomment the following line to enable command auto-correction. | |
# ENABLE_CORRECTION="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. | |
# You can set one of the optional three formats: | |
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" | |
# or set a custom format using the strftime function format specifications, | |
# see 'man strftime' for details. | |
# HIST_STAMPS="mm/dd/yyyy" | |
# Would you like to use another custom folder than $ZSH/custom? | |
# ZSH_CUSTOM=/path/to/new-custom-folder | |
# Which plugins would you like to load? | |
# Standard 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 | |
lighthouse | |
) | |
source $ZSH/oh-my-zsh.sh | |
# User configuration | |
# export MANPATH="/usr/local/man:$MANPATH" | |
# You may need to manually set your language environment | |
# export LANG=en_US.UTF-8 | |
# 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/rsa_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`. | |
# | |
# Example aliases | |
# alias zshconfig="mate ~/.zshrc" | |
# alias ohmyzsh="mate ~/.oh-my-zsh" | |
# NAVIGATION | |
# clear | |
alias cls="clear" | |
# go home | |
alias home="cd ~" | |
# open dev dir | |
alias dev="cd /mnt/c/dev" | |
# open current project | |
alias pro="cd /mnt/c/dev" | |
# Go back 1 directory level (for fast typers) | |
alias cd..='cd ../' | |
# Go back 1 directory level | |
alias ..='cd ../' | |
# Go back 2 directory levels | |
alias ...='cd ../../' | |
# Go back 3 directory levels | |
alias .3='cd ../../../' | |
# Go back 4 directory levels | |
alias .4='cd ../../../../' | |
# Go back 5 directory levels | |
alias .5='cd ../../../../../' | |
# Go back 6 directory level | |
alias .6='cd ../../../../../../' | |
# GIT | |
# The Simple Stuff | |
alias a="add" | |
alias ap="add -p" | |
alias c="commit --verbose" | |
alias ca="commit -a --verbose" | |
alias cm="commit -m" | |
alias cam="commit -a -m" | |
alias m="commit --amend --verbose" | |
alias d="diff" | |
alias ds="diff --stat" | |
alias dc="diff --cached" | |
alias s="status -s" | |
alias co="checkout" | |
alias cob="checkout -b" | |
# List branches sorted by last modified | |
alias b="!git for-each-ref --sort='-authordate' --format='%(authordate)%09%(objectname:short)%09%(refname)' refs/heads | sed -e 's-refs/heads/--'" | |
# Example: git cob <branchname> | |
alias cob="checkout -b" | |
# Useful overview of the state of the current branch | |
# Example Usecase: git lg | |
alias lg="log --color --graph --oneline --decorate" | |
# Modify the previous commit | |
alias amend="commit -a --amend" | |
#adds all changes including untracked files and creates a commit | |
alias save="!git add -A && git commit -m 'SAVEPOINT'" | |
# First command pulls changes from the remote. | |
# If I have any local commits, it’ll rebase them to come after the commits I pulled down. | |
# --prune option removes remote-tracking branches that no longer exist on the remote. | |
alias up="!git pull --rebase --prune $@ && git submodule update --init --recursive" | |
#resets the previous commit, but keeps all the changes from that commit in the working directory | |
alias undo="reset HEAD~1 --mixed" | |
# Only add commit message -- cm "commit message here" | |
# alias cm="!git add -A && git commit -m" | |
# NODE | |
# Update Node and NVM to latest LTS version | |
alias nvmup="nvm install lts/* --reinstall-packages-from=node" | |
# Get list of globally installed npm packages | |
alias showglobal="npm list -g --depth 0" | |
# Get a list of locally install npm packages | |
alias showlocal="npm list --depth 0" | |
# NODE PATH | |
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_completion |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Here's an example of someone (NATHANIEL LANDAU) who has done a really good job of sharing their ~/.bash_profile.sh
Also available as a Gist