Skip to content

Instantly share code, notes, and snippets.

@joshfriend
Last active August 29, 2015 13:57
Show Gist options
  • Save joshfriend/9835723 to your computer and use it in GitHub Desktop.
Save joshfriend/9835723 to your computer and use it in GitHub Desktop.
My ZSH configuration file
# Path to your oh-my-zsh configuration.
ZSH=$HOME/.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="m"
DEFAULT_USER=JoshFriend
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
# Set to this to use case-sensitive completion
# CASE_SENSITIVE="true"
# Uncomment this to disable bi-weekly auto-update checks
# DISABLE_AUTO_UPDATE="true"
# Uncomment to change how often before auto-updates occur? (in days)
export UPDATE_ZSH_DAYS=13
# Uncomment following line if you want to disable colors in ls
# DISABLE_LS_COLORS="true"
# Uncomment following line if you want to disable autosetting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment following line if you want to disable command autocorrection
# DISABLE_CORRECTION="true"
# Uncomment following line if you want red dots to be displayed while waiting for completion
# COMPLETION_WAITING_DOTS="true"
# Uncomment 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 following line if you want to shown in the command execution time stamp
# 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)
plugins=(git python boom)
source $ZSH/oh-my-zsh.sh
source ~/.zsh_aliases
unalias sl
# Cache pip packages
export PIP_DOWNLOAD_CACHE=$HOME/.pip/cache
# User configuration
export PATH=$HOME/bin:/usr/local/bin:$PATH
# export MANPATH="/usr/local/man:$MANPATH"
# Preferred editor for local and remote sessions
if [[ -n $SSH_CONNECTION ]]; then
export EDITOR='nano'
else
export EDITOR='subl'
fi
settitle() { printf "\e]0;$@\a" }
dir_in_title() { settitle $PWD }
chpwd_functions=(dir_in_title)
xwin() {
startxwin >/dev/null 2>&1
}
export DISPLAY=localhost:0.0
export NODOSFILEWARNING=true
# Wrapper function to always run gitk in background
gitk() {
command gitk $@ &
}
export CRYPT="$HOME/git/me/crypt/crypt.py"
function d() {
getclip | xargs $CRYPT -d
}
function e() {
MSGFILE=.msg.$$
$CRYPT -e $@ 2> $MSGFILE
putclip < $MSGFILE
rm $MSGFILE
}
# Set solarized dircolors theme
eval `dircolors ~/git/me/dircolors-solarized/dircolors.256dark`
#!/bin/bash
[[ "$-" != *i* ]] && return
# ls utility customizations
alias ll='ls -lho -G --color=auto --group-directories-first'
alias la='ls -lhoA -G --color=auto --group-directories-first'
alias lr='ls -hoR -G --color=auto --group-directories-first'
alias l='ls -h -G --color=auto --group-directories-first'
# Other useful shortcuts
alias cl='clear'
alias ez='subl ~/.zshrc'
alias sz='source ~/.zshrc'
alias open='cygstart'
alias winpy='/cygdrive/c/Python27/python'
# Source code metrics
alias pylines='find . -name "*.py" | xargs wc -l'
alias clines='find . -name "*.c" | xargs wc -l'
alias hlines='find . -name "*.h" | xargs wc -l'
alias ghi='TERM=screen-256color ghi'
# multithread compile by default
alias make='make -j8'
alias rot13="tr '[A-Za-z]' '[N-ZA-Mn-za-m]'"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment