diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc index c7d12da..2824e71 100644 --- a/.config/zsh/.zshrc +++ b/.config/zsh/.zshrc @@ -1,49 +1,87 @@ -# General options -setopt autocd -setopt nobgnice # Run bg jobs at normal priority -setopt nonotify # Don't notify when bg jobs complete -setopt nobeep -setopt interactive_comments -stty stop undef +#### +## zsh configuration +#### -# History config -HISTFILE="${XDG_CACHE_HOME:-${HOME}/.cache}/zsh/history" -HISTSIZE=10000000 -SAVEHIST=10000000 -[[ !( -f "${HISTFILE}" ) ]] && mkdir -p $(dirname ${HISTFILE}) -setopt HIST_IGNORE_DUPS +## Aliases +source "${XDG_CONFIG_HOME:-${HOME}/.config}/.aliasrc" -# Completion +## Colors +autoload -U colors && colors + +## Completion +setopt HASH_LIST_ALL +unsetopt AUTO_NAME_DIRS autoload -Uz compinit zstyle ':completion:*' menu select zmodload zsh/complist compinit _comp_options+=(globdots) # Include hidden files -# Colors -autoload -U colors && colors +## Directories +setopt AUTO_CD +setopt AUTO_PUSHD +setopt CDABLE_VARS +setopt PUSHD_IGNORE_DUPS +setopt PUSHD_SILENT +setopt PUSHD_TO_HOME -# Prompt +## Expansion and globbing +setopt EXTENDED_GLOB +unsetopt GLOB_DOTS +unsetopt NOMATCH + +## History +setopt APPEND_HISTORY +setopt BANG_HIST +setopt EXTENDED_HISTORY +setopt HIST_IGNORE_ALL_DUPS +setopt HIST_SAVE_NO_DUPS +setopt HIST_VERIFY +setopt INC_APPEND_HISTORY_TIME +HISTFILE="${XDG_CACHE_HOME:-${HOME}/.cache}/zsh/history" +HISTSIZE=1000000 +SAVEHIST=1000000 +[[ !( -f "${HISTFILE}" ) ]] && mkdir -p $(dirname ${HISTFILE}) + +## I/O +setopt INTERACTIVE_COMMENTS +setopt MULTIOS + +## Jobs +setopt LONG_LIST_JOBS +setopt AUTO_RESUME +unsetopt BG_NICE +unsetopt NOTIFY +unsetopt HUP +unsetopt CHECK_JOBS + +## Prompt PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]%{$reset_color%}$%b " +## Vi mode bindkey -v export KEYTIMEOUT=1 -# Aliases -source "${XDG_CONFIG_HOME:-${HOME}/.config}/.aliasrc" +## Zsh line editor +unsetopt BEEP -# Autosuggest + +#### +## Plugins +#### + +## Autosuggest source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh 2>/dev/null -# History substring search +## History substring search source /usr/share/zsh/plugins/zsh-history-substring-search/zsh-history-substring-search.zsh 2>/dev/null bindkey -M vicmd 'k' history-substring-search-up bindkey -M vicmd 'j' history-substring-search-down -# Highlighting +## Highlighting source /usr/share/zsh/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh 2>/dev/null -# Enhanced vim mode +## Enhanced vim mode MODE_INDICATOR="" MODE_CURSOR_VIINS="#b77ee0 blinking bar" MODE_CURSOR_REPLACE="$MODE_CURSOR_VIINS #ff3334" @@ -53,6 +91,9 @@ MODE_CURSOR_VISUAL="$MODE_CURSOR_VICMD steady bar" MODE_CURSOR_VLINE="$MODE_CURSOR_VISUAL #54ced6" source /usr/share/zsh/plugins/zsh-vim-mode/zsh-vim-mode.plugin.zsh 2>/dev/null -# Generic keybindings -bindkey -s '^f' 'cd "$(dirname "$(fzf)")"\n' +#### +## Keybindings +#### +stty stop undef +bindkey -s '^f' 'cd "$(dirname "$(fzf)")"\n'