From 0454fc29ba0b4bd0a68b5067fc97b93f0ae4f610 Mon Sep 17 00:00:00 2001 From: PlexSheep Date: Tue, 4 Jul 2023 21:33:21 +0200 Subject: [PATCH] fancier zshs --- home/.zsh-distrobox/zshrc | 87 +++++++++++++++++++++++++++++++-------- home/.zsh-kali/zshrc | 46 +++++++++++++-------- home/.zsh-server/zshrc | 87 +++++++++++++++++++++++++++++++-------- home/.zsh/zshrc | 87 +++++++++++++++++++++++++++++++-------- 4 files changed, 235 insertions(+), 72 deletions(-) diff --git a/home/.zsh-distrobox/zshrc b/home/.zsh-distrobox/zshrc index a1bc9f9..de5fd0f 100644 --- a/home/.zsh-distrobox/zshrc +++ b/home/.zsh-distrobox/zshrc @@ -9,6 +9,9 @@ fi export EDITOR=nvim export editor=nvim +# configure `time` format +TIMEFMT=$'\nreal\t%E\nuser\t%U\nsys\t%S\ncpu\t%P' + ### Aliases alias l="lsd -lah" alias ll="lsd -lh" @@ -36,27 +39,34 @@ function smallfiles () { exec 2>/dev/null; du -ah "$@" | grep -P "^\d+(B|K)\s" } ### ZSH HOME export ZSH=$HOME/.zsh-distrobox -### ---- history config ------------------------------------- -export HISTFILE=~/.zsh_history +### ---- zsh options ------------------------------------- +setopt autocd +setopt HIST_FIND_NO_DUPS +setopt HIST_IGNORE_ALL_DUPS setopt appendhistory setopt INC_APPEND_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. -export HISTSIZE=100000 +# History configurations +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. -# all of them! -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 +# force zsh to show the complete history +alias history="history 0" ### --- Inputs Config ------------------------------------ # vim keys, then override stuff. @@ -70,8 +80,49 @@ bindkey -s "^X" 'n^M' source $ZSH/themes/powerlevel10k/powerlevel10k.zsh-theme ### ---- ZSH MODULES ----------------------------------- -autoload -Uz compinit && compinit -zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}' +# enable completion features +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 ----------------------------------- source $ZSH/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh diff --git a/home/.zsh-kali/zshrc b/home/.zsh-kali/zshrc index 37596b5..1db69c6 100644 --- a/home/.zsh-kali/zshrc +++ b/home/.zsh-kali/zshrc @@ -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 +# configure `time` format +TIMEFMT=$'\nreal\t%E\nuser\t%U\nsys\t%S\ncpu\t%P' + ### Aliases alias l="lsd -lah" alias ll="lsd -lh" @@ -37,27 +40,34 @@ function smallfiles () { exec 2>/dev/null; du -ah "$@" | grep -P "^\d+(B|K)\s" } ### ZSH HOME export ZSH=$HOME/.zsh -### ---- history config ------------------------------------- -export HISTFILE=~/.zsh_history +### ---- zsh options ------------------------------------- +setopt autocd +setopt HIST_FIND_NO_DUPS +setopt HIST_IGNORE_ALL_DUPS setopt appendhistory setopt INC_APPEND_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. -export HISTSIZE=100000 +# History configurations +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. -# all of them! -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 +# force zsh to show the complete history +alias history="history 0" ### --- Inputs Config ------------------------------------ # vim keys, then override stuff. @@ -67,8 +77,7 @@ bindkey "^[[1;5D" backward-word bindkey -s "^X" 'n^M' ### ---- ZSH MODULES ----------------------------------- -autoload -Uz compinit && compinit -zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}' +# handled by original kali ### ---- PLUGINS ----------------------------------- source ~/.local/share/fzf/key-bindings.zsh @@ -106,3 +115,4 @@ then else eval "$(zoxide init zsh)" fi + diff --git a/home/.zsh-server/zshrc b/home/.zsh-server/zshrc index 2d230cd..7cae768 100644 --- a/home/.zsh-server/zshrc +++ b/home/.zsh-server/zshrc @@ -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 +# configure `time` format +TIMEFMT=$'\nreal\t%E\nuser\t%U\nsys\t%S\ncpu\t%P' + ### Aliases alias l="ls --color -lah" 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 export ZSH=$HOME/.zsh-server -### ---- history config ------------------------------------- -export HISTFILE=~/.zsh_history +### ---- zsh options ------------------------------------- +setopt autocd +setopt HIST_FIND_NO_DUPS +setopt HIST_IGNORE_ALL_DUPS setopt appendhistory setopt INC_APPEND_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. -export HISTSIZE=100000 +# History configurations +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. -# all of them! -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 +# force zsh to show the complete history +alias history="history 0" ### --- Inputs Config ------------------------------------ # 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' ### ---- ZSH MODULES ----------------------------------- -autoload -Uz compinit && compinit -zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}' +# enable completion features +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 ----------------------------------- source $ZSH/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh diff --git a/home/.zsh/zshrc b/home/.zsh/zshrc index 41e20ec..59c9a88 100644 --- a/home/.zsh/zshrc +++ b/home/.zsh/zshrc @@ -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 +# configure `time` format +TIMEFMT=$'\nreal\t%E\nuser\t%U\nsys\t%S\ncpu\t%P' + ### Aliases alias l="lsd -lah" alias ll="lsd -lh" @@ -37,27 +40,34 @@ function smallfiles () { exec 2>/dev/null; du -ah "$@" | grep -P "^\d+(B|K)\s" } ### ZSH HOME export ZSH=$HOME/.zsh -### ---- history config ------------------------------------- -export HISTFILE=~/.zsh_history +### ---- zsh options ------------------------------------- +setopt autocd +setopt HIST_FIND_NO_DUPS +setopt HIST_IGNORE_ALL_DUPS setopt appendhistory setopt INC_APPEND_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. -export HISTSIZE=100000 +# History configurations +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. -# all of them! -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 +# force zsh to show the complete history +alias history="history 0" ### --- Inputs Config ------------------------------------ # vim keys, then override stuff. @@ -71,8 +81,49 @@ bindkey -s "^X" 'n^M' source $ZSH/themes/powerlevel10k/powerlevel10k.zsh-theme ### ---- ZSH MODULES ----------------------------------- -autoload -Uz compinit && compinit -zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}' +# enable completion features +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 ----------------------------------- source $ZSH/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh