fancier zshs

This commit is contained in:
Christoph J. Scherr 2023-07-04 21:33:21 +02:00
parent cc1ca652ce
commit 0454fc29ba
Signed by: PlexSheep
GPG Key ID: 25B4ACF7D88186CC
4 changed files with 235 additions and 72 deletions

View File

@ -9,6 +9,9 @@ fi
export EDITOR=nvim export EDITOR=nvim
export editor=nvim export editor=nvim
# configure `time` format
TIMEFMT=$'\nreal\t%E\nuser\t%U\nsys\t%S\ncpu\t%P'
### Aliases ### Aliases
alias l="lsd -lah" alias l="lsd -lah"
alias ll="lsd -lh" alias ll="lsd -lh"
@ -36,27 +39,34 @@ function smallfiles () { exec 2>/dev/null; du -ah "$@" | grep -P "^\d+(B|K)\s" }
### ZSH HOME ### ZSH HOME
export ZSH=$HOME/.zsh-distrobox export ZSH=$HOME/.zsh-distrobox
### ---- history config ------------------------------------- ### ---- zsh options -------------------------------------
export HISTFILE=~/.zsh_history setopt autocd
setopt HIST_FIND_NO_DUPS
setopt HIST_IGNORE_ALL_DUPS
setopt appendhistory setopt appendhistory
setopt INC_APPEND_HISTORY setopt INC_APPEND_HISTORY
setopt SHARE_HISTORY setopt SHARE_HISTORY
setopt interactivecomments # allow comments in interactive mode
setopt magicequalsubst # enable filename expansion for arguments of the form anything=expression
setopt nonomatch # hide error message if there is no match for the pattern
setopt notify # report the status of background jobs immediately
setopt numericglobsort # sort filenames numerically when it makes sense
setopt promptsubst # enable command substitution in prompt
WORDCHARS=${WORDCHARS//\/} # Don't consider certain characters part of the word
PROMPT_EOL_MARK=""
# How many commands zsh will load to memory. # History configurations
export HISTSIZE=100000 HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=200000
setopt hist_expire_dups_first # delete duplicates first when HISTFILE size exceeds HISTSIZE
setopt hist_ignore_dups # ignore duplicated commands history list
setopt hist_ignore_space # ignore commands that start with space
setopt hist_verify # show command with history expansion to user before running it
#setopt share_history # share command history data
# How many commands history will save on file. # force zsh to show the complete history
# all of them! alias history="history 0"
export SAVEHIST=10000000
# History won't save duplicates.
setopt HIST_IGNORE_ALL_DUPS
# History won't show duplicates on search.
setopt HIST_FIND_NO_DUPS
### ---- zsh options -------------------------------------
setopt autocd
### --- Inputs Config ------------------------------------ ### --- Inputs Config ------------------------------------
# vim keys, then override stuff. # vim keys, then override stuff.
@ -70,8 +80,49 @@ bindkey -s "^X" 'n^M'
source $ZSH/themes/powerlevel10k/powerlevel10k.zsh-theme source $ZSH/themes/powerlevel10k/powerlevel10k.zsh-theme
### ---- ZSH MODULES ----------------------------------- ### ---- ZSH MODULES -----------------------------------
autoload -Uz compinit && compinit # enable completion features
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}' autoload -Uz compinit
compinit -d ~/.cache/zcompdump
zstyle ':completion:*:*:*:*:*' menu select
zstyle ':completion:*' auto-description 'specify: %d'
zstyle ':completion:*' completer _expand _complete
zstyle ':completion:*' format 'Completing %d'
zstyle ':completion:*' group-name ''
zstyle ':completion:*' list-colors ''
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
zstyle ':completion:*' rehash true
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle ':completion:*' use-compctl false
zstyle ':completion:*' verbose true
zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'
# enable color support
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
export LS_COLORS="$LS_COLORS:ow=30;44:" # fix ls color for folders with 777 permissions
alias dir='dir --color=auto'
alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
alias diff='diff --color=auto'
alias ip='ip --color=auto'
export LESS_TERMCAP_mb=$'\E[1;31m' # begin blink
export LESS_TERMCAP_md=$'\E[1;36m' # begin bold
export LESS_TERMCAP_me=$'\E[0m' # reset bold/blink
export LESS_TERMCAP_so=$'\E[01;33m' # begin reverse video
export LESS_TERMCAP_se=$'\E[0m' # reset reverse video
export LESS_TERMCAP_us=$'\E[1;32m' # begin underline
export LESS_TERMCAP_ue=$'\E[0m' # reset underline
# Take advantage of $LS_COLORS for completion as well
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
fi
### ---- PLUGINS ----------------------------------- ### ---- PLUGINS -----------------------------------
source $ZSH/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh source $ZSH/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh

View File

@ -10,6 +10,9 @@ export PATH=/usr/local/sbin:/usr/sbin/:/usr/local/bin:/usr/bin:/var/lib/flatpak/
export EDITOR=nvim export EDITOR=nvim
export editor=nvim export editor=nvim
# configure `time` format
TIMEFMT=$'\nreal\t%E\nuser\t%U\nsys\t%S\ncpu\t%P'
### Aliases ### Aliases
alias l="lsd -lah" alias l="lsd -lah"
alias ll="lsd -lh" alias ll="lsd -lh"
@ -37,27 +40,34 @@ function smallfiles () { exec 2>/dev/null; du -ah "$@" | grep -P "^\d+(B|K)\s" }
### ZSH HOME ### ZSH HOME
export ZSH=$HOME/.zsh export ZSH=$HOME/.zsh
### ---- history config ------------------------------------- ### ---- zsh options -------------------------------------
export HISTFILE=~/.zsh_history setopt autocd
setopt HIST_FIND_NO_DUPS
setopt HIST_IGNORE_ALL_DUPS
setopt appendhistory setopt appendhistory
setopt INC_APPEND_HISTORY setopt INC_APPEND_HISTORY
setopt SHARE_HISTORY setopt SHARE_HISTORY
setopt interactivecomments # allow comments in interactive mode
setopt magicequalsubst # enable filename expansion for arguments of the form anything=expression
setopt nonomatch # hide error message if there is no match for the pattern
setopt notify # report the status of background jobs immediately
setopt numericglobsort # sort filenames numerically when it makes sense
setopt promptsubst # enable command substitution in prompt
WORDCHARS=${WORDCHARS//\/} # Don't consider certain characters part of the word
PROMPT_EOL_MARK=""
# How many commands zsh will load to memory. # History configurations
export HISTSIZE=100000 HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=200000
setopt hist_expire_dups_first # delete duplicates first when HISTFILE size exceeds HISTSIZE
setopt hist_ignore_dups # ignore duplicated commands history list
setopt hist_ignore_space # ignore commands that start with space
setopt hist_verify # show command with history expansion to user before running it
#setopt share_history # share command history data
# How many commands history will save on file. # force zsh to show the complete history
# all of them! alias history="history 0"
export SAVEHIST=10000000
# History won't save duplicates.
setopt HIST_IGNORE_ALL_DUPS
# History won't show duplicates on search.
setopt HIST_FIND_NO_DUPS
### ---- zsh options -------------------------------------
setopt autocd
### --- Inputs Config ------------------------------------ ### --- Inputs Config ------------------------------------
# vim keys, then override stuff. # vim keys, then override stuff.
@ -67,8 +77,7 @@ bindkey "^[[1;5D" backward-word
bindkey -s "^X" 'n^M' bindkey -s "^X" 'n^M'
### ---- ZSH MODULES ----------------------------------- ### ---- ZSH MODULES -----------------------------------
autoload -Uz compinit && compinit # handled by original kali
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
### ---- PLUGINS ----------------------------------- ### ---- PLUGINS -----------------------------------
source ~/.local/share/fzf/key-bindings.zsh source ~/.local/share/fzf/key-bindings.zsh
@ -106,3 +115,4 @@ then
else else
eval "$(zoxide init zsh)" eval "$(zoxide init zsh)"
fi fi

View File

@ -3,6 +3,9 @@ export PATH=/usr/local/sbin:/usr/sbin/:/usr/local/bin:/usr/bin:~/.local/bin:~/.c
export EDITOR=vim export EDITOR=vim
export editor=vim export editor=vim
# configure `time` format
TIMEFMT=$'\nreal\t%E\nuser\t%U\nsys\t%S\ncpu\t%P'
### Aliases ### Aliases
alias l="ls --color -lah" alias l="ls --color -lah"
alias ll="ls --color -lh" alias ll="ls --color -lh"
@ -29,27 +32,34 @@ function smallfiles () { exec 2>/dev/null; du -ah "$@" | grep -P "^\d+(B|K)\s" }
### ZSH HOME ### ZSH HOME
export ZSH=$HOME/.zsh-server export ZSH=$HOME/.zsh-server
### ---- history config ------------------------------------- ### ---- zsh options -------------------------------------
export HISTFILE=~/.zsh_history setopt autocd
setopt HIST_FIND_NO_DUPS
setopt HIST_IGNORE_ALL_DUPS
setopt appendhistory setopt appendhistory
setopt INC_APPEND_HISTORY setopt INC_APPEND_HISTORY
setopt SHARE_HISTORY setopt SHARE_HISTORY
setopt interactivecomments # allow comments in interactive mode
setopt magicequalsubst # enable filename expansion for arguments of the form anything=expression
setopt nonomatch # hide error message if there is no match for the pattern
setopt notify # report the status of background jobs immediately
setopt numericglobsort # sort filenames numerically when it makes sense
setopt promptsubst # enable command substitution in prompt
WORDCHARS=${WORDCHARS//\/} # Don't consider certain characters part of the word
PROMPT_EOL_MARK=""
# How many commands zsh will load to memory. # History configurations
export HISTSIZE=100000 HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=200000
setopt hist_expire_dups_first # delete duplicates first when HISTFILE size exceeds HISTSIZE
setopt hist_ignore_dups # ignore duplicated commands history list
setopt hist_ignore_space # ignore commands that start with space
setopt hist_verify # show command with history expansion to user before running it
#setopt share_history # share command history data
# How many commands history will save on file. # force zsh to show the complete history
# all of them! alias history="history 0"
export SAVEHIST=10000000
# History won't save duplicates.
setopt HIST_IGNORE_ALL_DUPS
# History won't show duplicates on search.
setopt HIST_FIND_NO_DUPS
### ---- zsh options -------------------------------------
setopt autocd
### --- Inputs Config ------------------------------------ ### --- Inputs Config ------------------------------------
# vim keys, then override stuff. # vim keys, then override stuff.
@ -62,8 +72,49 @@ bindkey -s "^X" 'n^M'
PS1='%B%F{red}%n@%m%k %B%F{cyan}%(4~|...|)%3~%F{white} %# %b%f%k' PS1='%B%F{red}%n@%m%k %B%F{cyan}%(4~|...|)%3~%F{white} %# %b%f%k'
### ---- ZSH MODULES ----------------------------------- ### ---- ZSH MODULES -----------------------------------
autoload -Uz compinit && compinit # enable completion features
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}' autoload -Uz compinit
compinit -d ~/.cache/zcompdump
zstyle ':completion:*:*:*:*:*' menu select
zstyle ':completion:*' auto-description 'specify: %d'
zstyle ':completion:*' completer _expand _complete
zstyle ':completion:*' format 'Completing %d'
zstyle ':completion:*' group-name ''
zstyle ':completion:*' list-colors ''
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
zstyle ':completion:*' rehash true
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle ':completion:*' use-compctl false
zstyle ':completion:*' verbose true
zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'
# enable color support
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
export LS_COLORS="$LS_COLORS:ow=30;44:" # fix ls color for folders with 777 permissions
alias dir='dir --color=auto'
alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
alias diff='diff --color=auto'
alias ip='ip --color=auto'
export LESS_TERMCAP_mb=$'\E[1;31m' # begin blink
export LESS_TERMCAP_md=$'\E[1;36m' # begin bold
export LESS_TERMCAP_me=$'\E[0m' # reset bold/blink
export LESS_TERMCAP_so=$'\E[01;33m' # begin reverse video
export LESS_TERMCAP_se=$'\E[0m' # reset reverse video
export LESS_TERMCAP_us=$'\E[1;32m' # begin underline
export LESS_TERMCAP_ue=$'\E[0m' # reset underline
# Take advantage of $LS_COLORS for completion as well
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
fi
### ---- PLUGINS ----------------------------------- ### ---- PLUGINS -----------------------------------
source $ZSH/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh source $ZSH/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh

View File

@ -10,6 +10,9 @@ export PATH=/usr/local/sbin:/usr/sbin/:/usr/local/bin:/usr/bin:/var/lib/flatpak/
export EDITOR=nvim export EDITOR=nvim
export editor=nvim export editor=nvim
# configure `time` format
TIMEFMT=$'\nreal\t%E\nuser\t%U\nsys\t%S\ncpu\t%P'
### Aliases ### Aliases
alias l="lsd -lah" alias l="lsd -lah"
alias ll="lsd -lh" alias ll="lsd -lh"
@ -37,27 +40,34 @@ function smallfiles () { exec 2>/dev/null; du -ah "$@" | grep -P "^\d+(B|K)\s" }
### ZSH HOME ### ZSH HOME
export ZSH=$HOME/.zsh export ZSH=$HOME/.zsh
### ---- history config ------------------------------------- ### ---- zsh options -------------------------------------
export HISTFILE=~/.zsh_history setopt autocd
setopt HIST_FIND_NO_DUPS
setopt HIST_IGNORE_ALL_DUPS
setopt appendhistory setopt appendhistory
setopt INC_APPEND_HISTORY setopt INC_APPEND_HISTORY
setopt SHARE_HISTORY setopt SHARE_HISTORY
setopt interactivecomments # allow comments in interactive mode
setopt magicequalsubst # enable filename expansion for arguments of the form anything=expression
setopt nonomatch # hide error message if there is no match for the pattern
setopt notify # report the status of background jobs immediately
setopt numericglobsort # sort filenames numerically when it makes sense
setopt promptsubst # enable command substitution in prompt
WORDCHARS=${WORDCHARS//\/} # Don't consider certain characters part of the word
PROMPT_EOL_MARK=""
# How many commands zsh will load to memory. # History configurations
export HISTSIZE=100000 HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=200000
setopt hist_expire_dups_first # delete duplicates first when HISTFILE size exceeds HISTSIZE
setopt hist_ignore_dups # ignore duplicated commands history list
setopt hist_ignore_space # ignore commands that start with space
setopt hist_verify # show command with history expansion to user before running it
#setopt share_history # share command history data
# How many commands history will save on file. # force zsh to show the complete history
# all of them! alias history="history 0"
export SAVEHIST=10000000
# History won't save duplicates.
setopt HIST_IGNORE_ALL_DUPS
# History won't show duplicates on search.
setopt HIST_FIND_NO_DUPS
### ---- zsh options -------------------------------------
setopt autocd
### --- Inputs Config ------------------------------------ ### --- Inputs Config ------------------------------------
# vim keys, then override stuff. # vim keys, then override stuff.
@ -71,8 +81,49 @@ bindkey -s "^X" 'n^M'
source $ZSH/themes/powerlevel10k/powerlevel10k.zsh-theme source $ZSH/themes/powerlevel10k/powerlevel10k.zsh-theme
### ---- ZSH MODULES ----------------------------------- ### ---- ZSH MODULES -----------------------------------
autoload -Uz compinit && compinit # enable completion features
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}' autoload -Uz compinit
compinit -d ~/.cache/zcompdump
zstyle ':completion:*:*:*:*:*' menu select
zstyle ':completion:*' auto-description 'specify: %d'
zstyle ':completion:*' completer _expand _complete
zstyle ':completion:*' format 'Completing %d'
zstyle ':completion:*' group-name ''
zstyle ':completion:*' list-colors ''
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
zstyle ':completion:*' rehash true
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle ':completion:*' use-compctl false
zstyle ':completion:*' verbose true
zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'
# enable color support
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
export LS_COLORS="$LS_COLORS:ow=30;44:" # fix ls color for folders with 777 permissions
alias dir='dir --color=auto'
alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
alias diff='diff --color=auto'
alias ip='ip --color=auto'
export LESS_TERMCAP_mb=$'\E[1;31m' # begin blink
export LESS_TERMCAP_md=$'\E[1;36m' # begin bold
export LESS_TERMCAP_me=$'\E[0m' # reset bold/blink
export LESS_TERMCAP_so=$'\E[01;33m' # begin reverse video
export LESS_TERMCAP_se=$'\E[0m' # reset reverse video
export LESS_TERMCAP_us=$'\E[1;32m' # begin underline
export LESS_TERMCAP_ue=$'\E[0m' # reset underline
# Take advantage of $LS_COLORS for completion as well
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
fi
### ---- PLUGINS ----------------------------------- ### ---- PLUGINS -----------------------------------
source $ZSH/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh source $ZSH/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh