100 lines
1.9 KiB
Bash
100 lines
1.9 KiB
Bash
####
|
|
## zsh configuration
|
|
####
|
|
|
|
## 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
|
|
|
|
## Directories
|
|
setopt AUTO_PUSHD
|
|
setopt CDABLE_VARS
|
|
setopt PUSHD_IGNORE_DUPS
|
|
setopt PUSHD_SILENT
|
|
setopt PUSHD_TO_HOME
|
|
unsetopt AUTO_CD
|
|
|
|
## Expansion and globbing
|
|
setopt EXTENDED_GLOB
|
|
unsetopt GLOB_DOTS
|
|
unsetopt NOMATCH
|
|
|
|
## History
|
|
HISTFILE="${XDG_DATA_HOME:-${HOME}/.local/share}/zsh/history"
|
|
HISTSIZE=1000000
|
|
SAVEHIST=1000000
|
|
[[ !( -f "${HISTFILE}" ) ]] && mkdir -p $(dirname ${HISTFILE})
|
|
|
|
setopt APPEND_HISTORY
|
|
setopt BANG_HIST
|
|
setopt EXTENDED_HISTORY
|
|
setopt HIST_IGNORE_ALL_DUPS
|
|
setopt HIST_IGNORE_DUPS
|
|
setopt HIST_IGNORE_SPACE
|
|
setopt HIST_SAVE_NO_DUPS
|
|
setopt HIST_VERIFY
|
|
setopt INC_APPEND_HISTORY_TIME
|
|
setopt SHARE_HISTORY
|
|
|
|
## I/O
|
|
setopt INTERACTIVE_COMMENTS
|
|
setopt MULTIOS
|
|
unsetopt CLOBBER
|
|
|
|
## Jobs
|
|
setopt LONG_LIST_JOBS
|
|
setopt AUTO_RESUME
|
|
unsetopt BG_NICE
|
|
unsetopt NOTIFY
|
|
unsetopt HUP
|
|
unsetopt CHECK_JOBS
|
|
|
|
## Shell emulation
|
|
setopt APPEND_CREATE
|
|
|
|
## Prompt
|
|
PS1="%B%{$fg[magenta]%}%~%{$reset_color%} $%b "
|
|
|
|
## Window title
|
|
precmd () { print -Pn "\e]0;%n@%m: %~\a" }
|
|
preexec () { print -Pn "\e]0;%n@%m: $1\a" }
|
|
|
|
## Vi mode
|
|
bindkey -v
|
|
export KEYTIMEOUT=1
|
|
|
|
## Zsh line editor
|
|
unsetopt BEEP
|
|
|
|
|
|
####
|
|
## Plugins
|
|
####
|
|
|
|
export ZGEN_AUTOLOAD_COMPINIT=0
|
|
|
|
# zsh-vim-mode
|
|
export MODE_INDICATOR=""
|
|
export MODE_CURSOR_VIINS="#b77ee0 blinking bar"
|
|
export MODE_CURSOR_REPLACE="$MODE_CURSOR_VIINS #ff3334"
|
|
export MODE_CURSOR_VICMD="#b77ee0 block"
|
|
export MODE_CURSOR_SEARCH="#e7c547 steady underline"
|
|
export MODE_CURSOR_VISUAL="$MODE_CURSOR_VICMD steady bar"
|
|
export MODE_CURSOR_VLINE="$MODE_CURSOR_VISUAL #54ced6"
|
|
|
|
# fzf
|
|
if (( $+commands[fd] )); then
|
|
export FZF_DEFAULT_OPTS="--reverse --ansi"
|
|
export FZF_DEFAULT_COMMAND="fd ."
|
|
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
|
|
export FZF_ALT_C_COMMAND="fd -t d . $HOME"
|
|
fi
|