## ## ZSH Options ## umask 022 zmodload zsh/zle zmodload zsh/zpty zmodload zsh/complist autoload _vi_search_fix autoload -Uz colors autoload -U compinit colors zle -N _vi_search_fix zle -N _sudo_command_line # Completion # disable sort when completing `git checkout` zstyle ':completion:*:git-checkout:*' sort false # set descriptions format to enable group support zstyle ':completion:*:descriptions' format '[%d]' # set list-colors to enable filename colorizing zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} # preview directory's content with exa when completing cd zstyle ':fzf-tab:complete:cd:*' fzf-preview 'exa -1 --color=always $realpath' # switch group using `,` and `.` zstyle ':fzf-tab:*' switch-group ',' '.' # History HISTFILE="$XDG_CACHE_HOME/zsh/.zhistory" HISTSIZE=10000 SAVEHIST=10000 # Autosuggestion ZSH_AUTOSUGGEST_USE_ASYNC="true" ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets pattern cursor regexp root line) ZSH_HIGHLIGHT_MAXLENGTH=512 ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=$color8,bold" while read -r opt do setopt $opt done <<-EOF AUTOCD AUTO_MENU AUTO_PARAM_SLASH COMPLETE_IN_WORD NO_MENU_COMPLETE HASH_LIST_ALL ALWAYS_TO_END NOTIFY NOHUP MAILWARN INTERACTIVE_COMMENTS NOBEEP APPEND_HISTORY SHARE_HISTORY INC_APPEND_HISTORY EXTENDED_HISTORY HIST_IGNORE_ALL_DUPS HIST_IGNORE_SPACE HIST_NO_FUNCTIONS HIST_EXPIRE_DUPS_FIRST HIST_SAVE_NO_DUPS HIST_REDUCE_BLANKS EOF while read -r opt do unsetopt $opt done <<-EOF FLOWCONTROL NOMATCH CORRECT EQUALS EOF command -v zoxide &>/dev/null && eval "$(zoxide init zsh)" eval "$(fnm env --use-on-cd)" # Set editor default keymap to emacs (`-e`) or vi (`-v`) bindkey -e # vim:filetype=zsh:nowrap