| 1 | # history setup |
| 2 | HISTFILE=$HOME/.zhistory |
| 3 | SAVEHIST=1000 |
| 4 | HISTSIZE=999 |
| 5 | setopt share_history |
| 6 | setopt hist_expire_dups_first |
| 7 | setopt hist_ignore_dups |
| 8 | setopt hist_verify |
| 9 | |
| 10 | # completion using arrow keys (based on history) |
| 11 | bindkey '^[[A' history-search-backward |
| 12 | bindkey '^[[B' history-search-forward |
| 13 | |
| 14 | # completion using vim keys |
| 15 | bindkey '^k' history-search-backward |
| 16 | bindkey '^j' history-search-forward |
| 17 | |
| 18 | # Source zsh plugins |
| 19 | source $(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh |
| 20 | source $(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh |
| 21 | |
| 22 | # Alias / keyboard shortcuts |
| 23 | alias cd="z" |
| 24 | alias ls="eza --icons=always" |
| 25 | alias ai="aichat" |
| 26 | |
| 27 | # Exports |
| 28 | export BAT_THEME="ansi" |
| 29 | |
| 30 | # fzf settings |
| 31 | source <(fzf --zsh) |
| 32 | export FZF_DEFAULT_COMMAND='fd --type f --hidden --exclude ".git"' |
| 33 | export FZF_DEFAULT_OPTS=$FZF_DEFAULT_OPTS' |
| 34 | --color=fg:#c1c1c1,fg+:#ffffff,bg:#121113,bg+:#222222 |
| 35 | --color=hl:#5f8787,hl+:#fbcb97,info:#e78a53,marker:#fbcb97 |
| 36 | --color=prompt:#e78a53,spinner:#5f8787,pointer:#fbcb97,header:#aaaaaa |
| 37 | --color=border:#333333,label:#888888,query:#ffffff |
| 38 | --border="rounded" --border-label="" --preview-window="border-rounded" --prompt="> " |
| 39 | --marker=">" --pointer="◆" --separator="─" --scrollbar="│"' |
| 40 | |
| 41 | # Setup zoxide and starship |
| 42 | eval "$(zoxide init zsh)" |
| 43 | eval "$(starship init zsh)" |