-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdotzshrc
137 lines (118 loc) · 3.53 KB
/
dotzshrc
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
FPATH="$(/opt/homebrew/bin/brew --prefix)/share/zsh/site-functions:${FPATH}"
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
export ZSH="$HOME/.oh-my-zsh"
export FZF_BASE="$HOME/.fzf"
ZSH_THEME="powerlevel10k/powerlevel10k"
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
autoload -Uz compinit
compinit
plugins=(
aliases
autoenv
aws
brew
docker
dotenv
git
git-auto-fetch
github
gh
emoji
fzf
iterm2
jsontools
kubectl
macos
man
node
npm
nvm
pip
pyenv
python
ripgrep
sudo
terraform
tmux
universalarchive
vi-mode
zsh-autosuggestions
zsh-interactive-cd
zsh-navigation-tools
zsh-syntax-highlighting
)
# zsh-completions requirement
fpath+=${ZSH_CUSTOM:-${ZSH:-~/.oh-my-zsh}/custom}/plugins/zsh-completions/src
fpath+=${ZDOTDIR:-~}/.zsh_functions
source $ZSH/oh-my-zsh.sh
bindkey -v
bak() {
mv $1{,.bak}
}
unbak() {
mv $1 ${1:r}
}
dbash() {
docker exec -ti --env COLUMNS=`tput cols` --env LINES=`tput lines` $1 bash
}
rdev-status() {
service_count=$((`rdev list | wc -l`-4))
rdev host list
rdev list
for service in `rdev list | tail -n $(($service_count+1)) | head -n $service_count | awk '{ print $2 }'`; do
echo -n "$service: "
rdev services status -c $service | sed 's// | /g' | tr -d '\n'
echo ""
done
}
function prepend-sudo {
if [[ $BUFFER != "sudo "* ]]; then
BUFFER="sudo $BUFFER"; CURSOR+=5
fi
}
zle -N prepend-sudo
bindkey "^S" prepend-sudo
bindkey -v
bindkey '\e[3~' delete-char
# bindkey '^R' history-incremental-search-backward
setopt INC_APPEND_HISTORY autocd beep extendedglob nomatch
HISTFILE=~/.histfile
HISTSIZE=1000000
SAVEHIST=1000000
export ZSH_TMUX_AUTOCONNECT=false
export GOPATH="$HOME/gocode"
export PATH="$HOME/.fzf/bin:/opt/homebrew/bin:$HOME/bin:$GOPATH/bin:$ANDROID_HOME/tools:/usr/local/sbin:/usr/local/bin/:$HOME/.gem/ruby/2.6.0/bin:/opt/metasploit-framework/bin/:/opt/homebrew/opt/curl/bin:$PATH"
export FPATH="$HOME/.zsh:$FPATH"
export EDITOR=vim
export VISUAL=vim
export PAGER=nvimpager
export LSCOLORS="gxexfxdacxdadaadhbhefx"
alias ls='ls --color=auto'
alias vim='nvim'
alias k='kubectl'
alias less='bat -f --pager=/usr/bin/less'
alias cat='bat -f'
alias oldtail='/usr/bin/tail'
alias tail='grc /usr/bin/tail'
test -e "${HOME}/.iterm2_shell_integration.zsh" && source "${HOME}/.iterm2_shell_integration.zsh"
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 zsh_completion
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
[ -s "$PYENV_ROOT/completions/pyenv.zsh" ] && \. "$PYENV_ROOT/completions/pyenv.zsh" # This loads pyenv zsh_completion
eval "$(pyenv init -)"
# Setup fzf
export FZF_DEFAULT_COMMAND='rg --files --no-ignore --hidden --follow --glob "!.git/*"'
export FZF_DEFAULT_OPTS='--border --info=inline --reverse --height 40% --prompt="> "'
source "$HOME/.fzf.zsh"
source "$HOME/.fzf/shell/completion.zsh"
source "$HOME/.fzf/shell/key-bindings.zsh"
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
[[ -d $HOME/.local/bin ]] && export PATH="$HOME/.local/bin:$PATH"