zsh/.zshrc (view raw)
1# __
2# ____ _____/ /_ __________
3# /_ / / ___/ __ \/ ___/ ___/
4# _ / /_(__ ) / / / / / /__
5#(_)___/____/_/ /_/_/ \___/
6#
7
8# export thingys
9export ZSH=/home/$USER/.oh-my-zsh
10export BROWSER=/usr/bin/firefox
11export EDITOR=/usr/bin/nvim
12export SSH_KEY_PATH="~/.ssh/id_rsa"
13export PATH=$HOME/bin:$PATH
14export GPG_TTY=$(tty)
15export INPUTRC=~/.inputrc
16export PATH=$PATH:$HOME/leet/Nim/bin
17export PATH=$PATH:$HOME/.nimble/bin
18export PATH=$PATH:$HOME/.local/bin
19export PATH=$PATH:/usr/local/go/bin
20
21# zsh setup
22autoload -Uz compinit colors add-zsh-hook history-search-end
23colors
24compinit
25zstyle ':completion:*' list-colors "di=34"
26zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
27export ZLE_REMOVE_SUFFIX_CHARS=''
28setopt extended_glob
29setopt autocd
30
31# partial history matching
32zle -N history-beginning-search-backward-end history-search-end
33zle -N history-beginning-search-forward-end history-search-end
34bindkey "^[[A" history-beginning-search-backward-end
35bindkey "^[[B" history-beginning-search-forward-end
36
37# command history
38[ -z "$HISTFILE" ] && HISTFILE="$HOME/.zsh_history"
39HISTSIZE=50000
40SAVEHIST=10000
41
42setopt extended_history
43setopt hist_expire_dups_first
44setopt hist_ignore_dups
45setopt hist_ignore_space
46setopt hist_verify
47setopt inc_append_history
48setopt share_history
49
50# prompt
51_nicy_prompt() {
52 PROMPT="$(~/dotfiles/zsh/prompt)"
53}
54add-zsh-hook precmd _nicy_prompt
55
56[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
57
58# base16-shell
59BASE16_SHELL="$HOME/.config/base16-shell/"
60[ -n "$PS1" ] && \
61 [ -s "$BASE16_SHELL/profile_helper.sh" ] && \
62 eval "$("$BASE16_SHELL/profile_helper.sh")"
63
64# fpath
65fpath=($HOME/.zsh/zsh-completions/src $fpath)
66
67# sourced scripts
68source /usr/share/autojump/autojump.zsh
69source $HOME/.aliases
70source $HOME/.zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
71source $HOME/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
72source $HOME/.zsh/zsh-history-substring-search/zsh-history-substring-search.zsh
73
74# emacsy binds
75bindkey -e
76# end and home keys
77bindkey "^[[1~" beginning-of-line
78bindkey "^[[4~" end-of-line
79
80