-
Notifications
You must be signed in to change notification settings - Fork 1
/
.zshrc
95 lines (81 loc) · 2.98 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
export ZSH=${HOME}/.dotfiles/zsh/
export TERM=xterm-256color
if [ -d ${HOME}/.bin ]; then
export PATH="${PATH}:${HOME}/.bin"
rehash
fi
if [ -d ${HOME}/.local/bin ]; then
export PATH="${PATH}:${HOME}/.local/bin"
rehash
fi
if [ -d /usr/bin/vendor_perl ]; then
export PATH="${PATH}:/usr/bin/vendor_perl"
rehash
fi
ZSH_THEME="pad"
#VSCODE=vscodium
plugins=(
1password # https://github.com/ohmyzsh/ohmyzsh/blob/master/plugins/1password/README.md
ansible
archlinux # https://github.com/ohmyzsh/ohmyzsh/blob/master/plugins/archlinux/README.md
command-not-found
docker
docker-compose
extract
github
httpie
rsync
thefuck
vscode
zsh-autosuggestions
zsh-completions
zsh-syntax-highlighting
)
autoload -Uz colors && colors
autoload -Uz compinit && compinit
autoload -Uz bashcompinit && bashcompinit
zstyle ':completion:*' menu select
zmodload zsh/complist
compinit
_comp_options+=(globdots) # include dotfiles
export ZSH_CACHE_DIR=${HOME}/.zcache
source ${ZSH}/init.zsh
# User configuration
export LANG="en_US.UTF-8"
export EDITOR='vim'
# History
export HIST_STAMPS="%d/%m/%y %T"
export HISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups
export HISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignorespace
export HISTFILE=${HOME}/.zsh_history
export HISTIGNORE="&:ls:ll:la:l.:pwd:exit:clear:clr:[bf]g"
export HISTSIZE=1000000000
export SAVEHIST=$HISTSIZE
setopt BANG_HIST # Treat the '!' character specially during expansion.
setopt EXTENDED_HISTORY # Write the history file in the ":start:elapsed;command" format.
setopt HIST_BEEP # Beep when accessing nonexistent history.
setopt HIST_EXPIRE_DUPS_FIRST # Expire duplicate entries first when trimming history.
setopt HIST_FIND_NO_DUPS # Do not display a line previously found.
setopt HIST_IGNORE_ALL_DUPS # Delete old recorded entry if new entry is a duplicate.
setopt HIST_IGNORE_DUPS # Don't record an entry that was just recorded again.
setopt HIST_IGNORE_SPACE # Don't record an entry starting with a space.
setopt HIST_REDUCE_BLANKS # Remove superfluous blanks before recording entry.
setopt HIST_SAVE_NO_DUPS # Don't write duplicate entries in the history file.
setopt HIST_VERIFY # Don't execute immediately upon history expansion.
setopt INC_APPEND_HISTORY # Write to the history file immediately, not when the shell exits.
setopt SHARE_HISTORY # Share history between all sessions.
setopt auto_cd
if [ -d /etc/profile.d ]; then
if [ "$(ls -A /etc/profile.d)" ]; then
for PROFILE_FILE in /etc/profile.d/*.sh; do
if [ -r $PROFILE_FILE ]; then
. $PROFILE_FILE
fi
done
fi
unset PROFILE_FILE
fi
[ -f "${HOME}/.config/user-dirs.dirs" ] && source ${HOME}/.config/user-dirs.dirs
[ -f "${HOME}/.zshaliases" ] && source ${HOME}/.zshaliases
[ -f "${HOME}/.dir_colors" ] && eval $(dircolors ${HOME}/.dir_colors)
[ -x $(command -v fastfetch) ] && fastfetch