Created
November 5, 2022 00:36
-
-
Save Anon-Exploiter/0ea982a5ba708458b2c46f904eb31e06 to your computer and use it in GitHub Desktop.
Revisions
-
Anon-Exploiter created this gist
Nov 5, 2022 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,260 @@ # ~/.zshrc file for zsh interactive shells. # see /usr/share/doc/zsh/examples/zshrc for examples setopt autocd # change directory just by typing its name #setopt correct # auto correct mistakes 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 # hide EOL sign ('%') PROMPT_EOL_MARK="" # configure key keybindings bindkey -e # emacs key bindings bindkey ' ' magic-space # do history expansion on space bindkey '^U' backward-kill-line # ctrl + U bindkey '^[[3;5~' kill-word # ctrl + Supr bindkey '^[[3~' delete-char # delete bindkey '^[[1;5C' forward-word # ctrl + -> bindkey '^[[1;5D' backward-word # ctrl + <- bindkey '^[[5~' beginning-of-buffer-or-history # page up bindkey '^[[6~' end-of-buffer-or-history # page down bindkey '^[[H' beginning-of-line # home bindkey '^[[F' end-of-line # end bindkey '^[[Z' undo # shift + tab undo last action # 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' # History configurations HISTFILE=~/.zsh_history HISTSIZE=1000000 SAVEHIST=20000000 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 # force zsh to show the complete history alias history="history 0" # configure `time` format TIMEFMT=$'\nreal\t%E\nuser\t%U\nsys\t%S\ncpu\t%P' # make less more friendly for non-text input files, see lesspipe(1) #[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" # set variable identifying the chroot you work in (used in the prompt below) if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then debian_chroot=$(cat /etc/debian_chroot) fi # set a fancy prompt (non-color, unless we know we "want" color) case "$TERM" in xterm-color|*-256color) color_prompt=yes;; esac # uncomment for a colored prompt, if the terminal has the capability; turned # off by default to not distract the user: the focus in a terminal window # should be on the output of commands, not on the prompt force_color_prompt=yes if [ -n "$force_color_prompt" ]; then if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then # We have color support; assume it's compliant with Ecma-48 # (ISO/IEC-6429). (Lack of such support is extremely rare, and such # a case would tend to support setf rather than setaf.) color_prompt=yes else color_prompt= fi fi configure_prompt() { prompt_symbol=@ # Skull emoji for root terminal #[ "$EUID" -eq 0 ] && prompt_symbol=💀 case "$PROMPT_ALTERNATIVE" in twoline) PROMPT=$'%F{%(#.blue.green)}┌──${debian_chroot:+($debian_chroot)─}${VIRTUAL_ENV:+($(basename $VIRTUAL_ENV))─}(%B%F{%(#.red.blue)}%n'$prompt_symbol$'%m%b%F{%(#.blue.green)})-[%B%F{reset}%(6~.%-1~/…/%4~.%5~)%b%F{%(#.blue.green)}]\n└─%B%(#.%F{red}#.%F{blue}$)%b%F{reset} ' # Right-side prompt with exit codes and background processes #RPROMPT=$'%(?.. %? %F{red}%B⨯%b%F{reset})%(1j. %j %F{yellow}%B⚙%b%F{reset}.)' ;; oneline) PROMPT=$'${debian_chroot:+($debian_chroot)}${VIRTUAL_ENV:+($(basename $VIRTUAL_ENV))}%B%F{%(#.red.blue)}%n@%m%b%F{reset}:%B%F{%(#.blue.green)}%~%b%F{reset}%(#.#.$) ' RPROMPT= ;; backtrack) PROMPT=$'${debian_chroot:+($debian_chroot)}${VIRTUAL_ENV:+($(basename $VIRTUAL_ENV))}%B%F{red}%n@%m%b%F{reset}:%B%F{blue}%~%b%F{reset}%(#.#.$) ' RPROMPT= ;; esac unset prompt_symbol } # The following block is surrounded by two delimiters. # These delimiters must not be modified. Thanks. # START KALI CONFIG VARIABLES PROMPT_ALTERNATIVE=twoline NEWLINE_BEFORE_PROMPT=yes # STOP KALI CONFIG VARIABLES if [ "$color_prompt" = yes ]; then # override default virtualenv indicator in prompt VIRTUAL_ENV_DISABLE_PROMPT=1 configure_prompt # enable syntax-highlighting if [ -f /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh ]; then . /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets pattern) ZSH_HIGHLIGHT_STYLES[default]=none ZSH_HIGHLIGHT_STYLES[unknown-token]=fg=white,underline ZSH_HIGHLIGHT_STYLES[reserved-word]=fg=cyan,bold ZSH_HIGHLIGHT_STYLES[suffix-alias]=fg=green,underline ZSH_HIGHLIGHT_STYLES[global-alias]=fg=green,bold ZSH_HIGHLIGHT_STYLES[precommand]=fg=green,underline ZSH_HIGHLIGHT_STYLES[commandseparator]=fg=blue,bold ZSH_HIGHLIGHT_STYLES[autodirectory]=fg=green,underline ZSH_HIGHLIGHT_STYLES[path]=bold ZSH_HIGHLIGHT_STYLES[path_pathseparator]= ZSH_HIGHLIGHT_STYLES[path_prefix_pathseparator]= ZSH_HIGHLIGHT_STYLES[globbing]=fg=blue,bold ZSH_HIGHLIGHT_STYLES[history-expansion]=fg=blue,bold ZSH_HIGHLIGHT_STYLES[command-substitution]=none ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter]=fg=magenta,bold ZSH_HIGHLIGHT_STYLES[process-substitution]=none ZSH_HIGHLIGHT_STYLES[process-substitution-delimiter]=fg=magenta,bold ZSH_HIGHLIGHT_STYLES[single-hyphen-option]=fg=green ZSH_HIGHLIGHT_STYLES[double-hyphen-option]=fg=green ZSH_HIGHLIGHT_STYLES[back-quoted-argument]=none ZSH_HIGHLIGHT_STYLES[back-quoted-argument-delimiter]=fg=blue,bold ZSH_HIGHLIGHT_STYLES[single-quoted-argument]=fg=yellow ZSH_HIGHLIGHT_STYLES[double-quoted-argument]=fg=yellow ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]=fg=yellow ZSH_HIGHLIGHT_STYLES[rc-quote]=fg=magenta ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]=fg=magenta,bold ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]=fg=magenta,bold ZSH_HIGHLIGHT_STYLES[back-dollar-quoted-argument]=fg=magenta,bold ZSH_HIGHLIGHT_STYLES[assign]=none ZSH_HIGHLIGHT_STYLES[redirection]=fg=blue,bold ZSH_HIGHLIGHT_STYLES[comment]=fg=black,bold ZSH_HIGHLIGHT_STYLES[named-fd]=none ZSH_HIGHLIGHT_STYLES[numeric-fd]=none ZSH_HIGHLIGHT_STYLES[arg0]=fg=cyan ZSH_HIGHLIGHT_STYLES[bracket-error]=fg=red,bold ZSH_HIGHLIGHT_STYLES[bracket-level-1]=fg=blue,bold ZSH_HIGHLIGHT_STYLES[bracket-level-2]=fg=green,bold ZSH_HIGHLIGHT_STYLES[bracket-level-3]=fg=magenta,bold ZSH_HIGHLIGHT_STYLES[bracket-level-4]=fg=yellow,bold ZSH_HIGHLIGHT_STYLES[bracket-level-5]=fg=cyan,bold ZSH_HIGHLIGHT_STYLES[cursor-matchingbracket]=standout fi else PROMPT='${debian_chroot:+($debian_chroot)}%n@%m:%~%(#.#.$) ' fi unset color_prompt force_color_prompt toggle_oneline_prompt(){ if [ "$PROMPT_ALTERNATIVE" = oneline ]; then PROMPT_ALTERNATIVE=twoline else PROMPT_ALTERNATIVE=oneline fi configure_prompt zle reset-prompt } zle -N toggle_oneline_prompt bindkey ^P toggle_oneline_prompt # If this is an xterm set the title to user@host:dir case "$TERM" in xterm*|rxvt*|Eterm|aterm|kterm|gnome*|alacritty) TERM_TITLE=$'\e]0;${debian_chroot:+($debian_chroot)}${VIRTUAL_ENV:+($(basename $VIRTUAL_ENV))}%n@%m: %~\a' ;; *) ;; esac precmd() { # Print the previously configured title print -Pnr -- "$TERM_TITLE" # Print a new line before the prompt, but only if it is not the first line if [ "$NEWLINE_BEFORE_PROMPT" = yes ]; then if [ -z "$_NEW_LINE_BEFORE_PROMPT" ]; then _NEW_LINE_BEFORE_PROMPT=1 else print "" fi fi } # enable color support of ls, less and man, and also add handy aliases 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 ls='ls --color=auto' #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 # some more ls aliases alias ll='ls -lahF' alias la='ls -A' alias l='ls -CF' # enable auto-suggestions based on the history if [ -f /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh ]; then . /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh # change suggestion color ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=#999' fi # enable command-not-found if installed if [ -f /etc/zsh_command_not_found ]; then . /etc/zsh_command_not_found fi [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh