# Theme source ~/zsh/themes/minimal.zsh # Plugins source ~/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh source ~/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.plugin.zsh ### Aliases # Editor alias nv='nvim' alias v='nvim' alias vim='nvim' alias dv='doas nvim' # Pacman alias paci='doas pacman -S' alias pacs='pacman -Ss' alias pacr='doas pacman -Rns' alias pacupd='doas pacman -Syuu' # ls alias ls='exa' alias ll='exa -lha' alias la='exa -lha' alias l='exa -lh' # Sally alias sally='~/sally/sally.sh' # Fixed Ctrl + left/right arrow keys issue bindkey "^[[1;5C" forward-word bindkey "^[[1;5D" backward-word # Fixed Alt + left/right arrow keys issue bindkey "^[[1;3C" forward-word bindkey "^[[1;3D" backward-word # ~/.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 ' ' 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=1000 SAVEHIST=2000 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' # 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 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