-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdot_zshrc
More file actions
139 lines (112 loc) · 3.92 KB
/
dot_zshrc
File metadata and controls
139 lines (112 loc) · 3.92 KB
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
137
138
139
# -*- Mode: shell-script;coding:utf-8 -*- #
# Set up the prompt
autoload -Uz promptinit
promptinit
prompt fade
setopt sharehistory
setopt auto_cd
# Use emacs keybindings
bindkey -e
# Keep 1000 lines of history within the shell and save it to ~/.zsh_history:
HISTSIZE=1000000
SAVEHIST=1000000
HISTFILE=~/.zsh_history
# Use modern completion system
autoload -Uz compinit
compinit
zstyle ':completion:*' auto-description 'specify: %d'
zstyle ':completion:*' completer _expand _complete _correct _approximate
zstyle ':completion:*' format 'Completing %d'
zstyle ':completion:*' group-name ''
zstyle ':completion:*' menu select=2
eval "$(dircolors -b)"
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*' list-colors ''
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=* l:|=*'
zstyle ':completion:*' menu select=long
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle ':completion:*' use-compctl false
zstyle ':completion:*' verbose true
zstyle ':completion:*:default' menu select=1
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'
function powerline_precmd() {
if ! hash powerline-go 2>/dev/null; then
return
fi
PS1="$(powerline-go -max-width 0 -colorize-hostname -error $? -shell zsh -modules aws,terraform-workspace,venv,user,host,ssh,cwd,perms,jobs,git,hg,exit -newline)"
}
# ================================================================
# powerline-go
# ================================================================
function install_powerline_precmd() {
for s in "${precmd_functions[@]}"; do
if [ "$s" = "powerline_precmd" ]; then
return
fi
done
precmd_functions+=(powerline_precmd)
}
if [ "$TERM" != "linux" ]; then
install_powerline_precmd
fi
# ================================================================
# pet
# ================================================================
function pet-select() {
BUFFER=$(pet search --query "$LBUFFER")
CURSOR=$#BUFFER
zle redisplay
}
zle -N pet-select
stty -ixon
bindkey '^s' pet-select
# ================================================================
# zplug
# ================================================================
if [[ -f ~/.zplug/init.zsh ]]; then
source ~/.zplug/init.zsh
if ! zplug check --verbose; then
printf "Install zplug? [y/N]: "
if read -q; then
echo; zplug install
fi
echo
fi
# Searching like fish
zplug "zsh-users/zsh-history-substring-search"
bindkey -M emacs '^P' history-substring-search-up
bindkey -M emacs '^N' history-substring-search-down
# Additional completion definitions for Zsh
zplug "zsh-users/zsh-completions", depth:1
# enhancd
zplug "b4b4r07/enhancd", use:init.sh
export ENHANCD_COMMAND="c"
zplug "mollifier/cd-gitroot"
zplug "rupa/z", use:z.sh
# better than zsh-users/zsh-syntax-highlighting
zplug "zdharma/fast-syntax-highlighting", defer:2
zplug load
fi
if [[ -f ~/.alias ]]; then
source ~/.alias
fi
if hash aws_zsh_completer.sh >& /dev/null; then
source "$(which aws_zsh_completer.sh)"
fi
if [[ -f ~/.zshrc.local ]]; then
source ~/.zshrc.local
fi
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
if [[ -d $HOME/.local/google-cloud-sdk ]]; then
# The next line updates PATH for the Google Cloud SDK.
source "$HOME/.local/google-cloud-sdk/path.zsh.inc"
# The next line enables shell command completion for gcloud.
source "$HOME/.local/google-cloud-sdk/completion.zsh.inc"
fi
if hash direnv >& /dev/null; then
eval "$(direnv hook zsh)"
fi
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"