-
Notifications
You must be signed in to change notification settings - Fork 0
/
.zshrc
156 lines (127 loc) · 4.66 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
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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
# zmodload zsh/zprof
# Speeds up load time
DISABLE_UPDATE_PROMPT=false
# Uncomment the following line to enable command auto-correction.
ENABLE_CORRECTION="false"
# History Settings
HISTFILE=$HOME/.zsh/history
HISTSIZE=10000
SAVEHIST=$HISTSIZE
# Ensure the history file exists and is writable
touch $HISTFILE
chmod 600 $HISTFILE
setopt hist_ignore_all_dups # remove older duplicate entries from history
setopt hist_reduce_blanks # remove blanks from history items
setopt share_history # share history between different instances of the shell
setopt inc_append_history # save history entries as soon as they are entered
up-line-or-history-reread() {
[[ -z $BUFFER ]] && fc -R $HISTFILE
zle up-line-or-history
}
zle -N up-line-or-history-reread
bindkey '^[[A' up-line-or-history-reread
setopt auto_cd # cd by typing directory name if its not a command
setopt +o nomatch
# Enable colors
autoload -U colors && colors
#autoload -U +X bashcompinit && bashcompinit
# Auto complete settings
autoload -Uz compinit
#autoload -U bashcompinit
#bashcompinit
setopt auto_list # automatically list choices on ambiguous completion
setopt auto_menu # automatically use menu completion
setopt always_to_end # move cursor to end if word had one match
zstyle ':completion:*' menu select # select completions with arrow keys
zstyle ':completion:*' group-name '' # group results by category
zstyle ':completion:::::' completer _expand _complete _ignored _approximate # enable approximate matches for completion
## Auto complete with case insenstivity
zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
zmodload zsh/complist
compinit
_comp_options+=(globdots) # Include hidden files.
echo -ne '\e[5 q' # Use beam shape cursor on startup.
local PLUGIN_DIR="$HOME/.zsh/plugins/"
local PLUGINS=(zsh-syntax-highlighting zsh-autosuggestions)
for plugin in $PLUGINS
do
local plugin_path="${PLUGIN_DIR}${plugin}"
if [[ ! -d "$plugin_path" ]]; then
git clone https://github.com/zsh-users/$plugin "$plugin_path" 2>/dev/null
else
# echo "$plugin is already installed..."
fi
done
# Load plugins
for plugin in ~/.zsh/plugins/*/*.plugin.zsh; do
source $plugin
done
ZSH_AUTOSUGGEST_STRATEGY=(match_prev_cmd completion)
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=244"
autoload -U promptinit; promptinit
eval "$(starship init zsh)"
umask 0002
export LANG=en_US.UTF-8
export LC_CTYPE=en_US.UTF-8
# export TERM=xterm
typeset -U PATH
export PATH
export EDITOR=nvim
# Enable fasd
eval "$(fasd --init auto)"
# vi mode
bindkey -v
# export KEYTIMEOUT=1
# Change cursor shape for different vi modes.
function zle-keymap-select {
if [[ ${KEYMAP} == vicmd ]] ||
[[ $1 = 'block' ]]; then
echo -ne '\e[1 q'
elif [[ ${KEYMAP} == main ]] ||
[[ ${KEYMAP} == viins ]] ||
[[ ${KEYMAP} = '' ]] ||
[[ $1 = 'beam' ]]; then
echo -ne '\e[5 q'
fi
}
zle -N zle-keymap-select
zle-line-init() {
zle -K viins # initiate `vi insert` as keymap (can be removed if `bindkey -V` has been set elsewhere)
echo -ne "\e[5 q"
}
zle -N zle-line-init
preexec() { echo -ne '\e[5 q' ;} # Use beam shape cursor for each new prompt.
bindkey '^A' beginning-of-line
bindkey '^E' end-of-line
bindkey "^[[1;5C" forward-word
bindkey "^[[1;5D" backward-word
bindkey '^[[A' history-substring-search-up
bindkey '^[[B' history-substring-search-down
# Ctrl + U – delete from the cursor to the start of the line.
# Ctrl + K – delete from the cursor to the end of the line.
# Ctrl + W – delete from the cursor to the start of the preceding word.
# Alt + D – delete from the cursor to the end of the next word.
if [ -e $HOME/.pyenv ]; then
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
fi
[ -f "$HOME/nvim-venv/bin/activate" ] && source $HOME/nvim-venv/bin/activate
# [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
# zprof
export DB_URI=mysql+pymysql://deadpool_user:[email protected]/deadpool_db
# Created by `pipx` on 2022-01-22 18:07:45
export PATH="$PATH:/Users/rbhanot/.local/bin:/Users/Shared/DBngin/mysql/8.0.19/bin"
export GOPATH="/Users/rbhanot/.go"
export GOBIN=$GOPATH/bin
# export GUNICORN_CMD_ARGS="--bind=0.0.0.0:8889 --workers=4 --keyfile /export/content/lid/apps/deadpool-api/i001/var/identity.key --certfile /export/content/lid/apps/deadpool-api/i001/var/identity.cert --ca-certs /etc/riddler/ca-bundle.crt --cert-reqs 1 --reload"
export VOLTA_HOME="$HOME/.volta"
export PATH="$VOLTA_HOME/bin:$GOBIN:$PATH"
# Add /export/apps/python/*/bin to PATH
#for dir in /export/apps/python/*/bin; do
# path+=("$dir")
#done
source ~/.temporal.zsh
[ -f "$HOME/custom_config.zsh" ] && source "$HOME/custom_config.zsh"
source <(fzf --zsh)