-
Notifications
You must be signed in to change notification settings - Fork 2
/
zshrc.sh
47 lines (33 loc) · 1.14 KB
/
zshrc.sh
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
# always source zprofile regardless of whether this is/isn't a login shell
source ~/.zprofile
# load shared shell configuration
source ~/.shrc
# History file
export HISTFILE=~/.zsh_history
# Don't show duplicate history entires
setopt hist_find_no_dups
# Remove unnecessary blanks from history
setopt hist_reduce_blanks
# Share history between instances
setopt share_history
# Don't hang up background jobs
setopt no_hup
# autocorrect command and parameter spelling
setopt correct
setopt correctall
# use emacs bindings even with vim as EDITOR
bindkey -e
# fix backspace on Debian
[ -n "$LINUX" ] && bindkey "^?" backward-delete-char
# fix delete key on macOS
[ -n "$MACOS" ] && bindkey '\e[3~' delete-char
# alternate mappings for Ctrl-U/V to search the history
# bindkey "^u" history-beginning-search-backward
# bindkey "^v" history-beginning-search-forward
# enable autosuggestions
ZSH_AUTOSUGGESTIONS="$HOMEBREW_PREFIX/share/zsh-autosuggestions/zsh-autosuggestions.zsh"
[ -f "$ZSH_AUTOSUGGESTIONS" ] && source "$ZSH_AUTOSUGGESTIONS"
# enable direnv (if installed)
which direnv &>/dev/null && eval "$(direnv hook zsh)"
# to avoid non-zero exit code
true