-
Notifications
You must be signed in to change notification settings - Fork 8
/
zshrc
104 lines (83 loc) · 3.13 KB
/
zshrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# Allow directory stacks
setopt AUTO_PUSHD # Push the old directory onto a stack
setopt PUSHD_MINUS # Swap the directory stack ordering
# Autocompletion
fpath=(~/.zsh/completion $fpath)
zstyle ':completion:*' completer _expand _complete _ignored _correct
autoload -U bashcompinit
bashcompinit
autoload -U compinit
compinit
# Set zsh history file length
HISTFILE=~/.zsh_history
HISTSIZE=1000
SAVEHIST=1000
export PS1="%~ \$ "
# If not running interactively, don't do anything
[ -z "$PROMPT" ] && return
# Enable color support for ls and grep
if which dircolors &> /dev/null ; then
eval $(dircolors -b)
alias ls='ls -1 --color=auto'
alias grep='grep --color=auto'
else
alias ls='ls -1'
fi
# Replace git with hub if found
if which hub &> /dev/null ; then
function git(){ hub "$@" }
fi
alias gt='cd $(git rev-parse --show-toplevel)'
alias '$'='' # Copy-pasting commands with '$ ' in front still works
# copy & paste commands
alias "copy=xclip -sel clipboard"
alias "paste=xclip -o"
# Do not wait for full input before showing output in less
[ -x /usr/bin/lesspipe ] && eval "$(lesspipe)"
# Setup python-launcher to use pyenv default version
export PY_PYTHON=$(head -n 1 $(pyenv root)/version | cut -d "." -f 1,2)
alias mkvenv3='mkvirtualenv -a $PWD --python=python$PY_PYTHON'
alias mkvenv2='mkvirtualenv -a $PWD --python=$(which python2)'
alias mshell='docker-compose exec --user="$(id -u):$(id -g)" django python manage.py shell'
function mrun(){
cat "$@" | docker exec --user="$(id -u):$(id -g)" -i $(docker-compose ps -q django) python manage.py shell
}
alias mtest='docker-compose exec test pytest'
alias mexec='docker-compose exec django'
alias mmanage='docker-compose exec --user="$(id -u):$(id -g)" django python manage.py'
alias web='python -m webbrowser'
alias open=xdg-open
alias cvim='vim -c "call ToggleFancyFeatures()"'
# Setup python-launcher to use startup file
alias py='PYTHONSTARTUP="$HOME/.startup.py" py'
# Set virtualenvwrapper settings
if [ -d "$HOME/.virtualenvs" ]; then
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=$HOME/.local/pipx/venvs/virtualenvwrapper/bin/python
source virtualenvwrapper_lazy.sh
#export PYENV_VIRTUALENVWRAPPER_PREFER_PYVENV="true"
fi
if [ "$VIRTUAL_ENV" != "" ]; then
. "$VIRTUAL_ENV/bin/activate"
else
if [ "$VIRTUALENV" != "" ] ; then
# Seems slightly faster than "workon $VIRTUALENV"
. "$WORKON_HOME/$VIRTUALENV/bin/activate"
fi
fi
set -o emacs
export EDITOR=vim # Use vim as default text editor
stty -ixon
export LC_TIME="C" # Use 24 hour time
export NVM_DIR="/home/trey/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" && nvm use &>/dev/null # This loads nvm
export NODE_PATH=$NODE_PATH:/home/trey/.nvm/v0.10.35/lib/node_modules
# Add Cabal to path
export PATH="$HOME/.cabal/bin:$PATH"
### Added by the Heroku Toolbelt
export PATH="/usr/local/heroku/bin:$PATH"
# Use local node_modules versions of packages
export PATH="./node_modules/.bin:$PATH"
[[ -s "$HOME/.avn/bin/avn.sh" ]] && source "$HOME/.avn/bin/avn.sh" # load avn
# Set directory colors for solarized light
eval `dircolors ~/.dotfiles/dircolors.ansi-light`