.zshrc
author Oleksandr Gavenko <gavenkoa@gmail.com>
Mon, 01 Jan 2024 20:53:49 +0200
changeset 1039 78cdb4a057e3
parent 977 0b4affe58cff
permissions -rw-r--r--
Create symlink from ~/.bash_profile for login shell to activate my ~/.bashrc.


if [[ -e /etc/zshrc ]]; then
. /etc/zshrc
fi

if [[ -f ~/.bash.env ]]; then
  . ~/.bash.env
fi

PS1=$'%?|%n@%m %~\nzsh# '
PS2='> '
case "$TERM" in
  xterm*|eterm-color|screen|linux)
    PS1=$'\n%F{cyan}%?|%F{red}%n%F{magenta}@%m %F{cyan}%~\n%F{red}%Bzsh#%b%f '
    PS2=$'%F{green}> %f'
  ;;
esac

HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=10000

setopt AUTO_CD
setopt BEEP
setopt NOMATCH
setopt NOTIFY

setopt APPEND_HISTORY
setopt EXTENDED_HISTORY
setopt HIST_EXPIRE_DUPS_FIRST
setopt HIST_IGNORE_ALL_DUPS
setopt HIST_IGNORE_SPACE
setopt HIST_NO_FUNCTIONS

setopt MENUCOMPLETE
# Use completion cache
zstyle ':completion:*' use-cache on
zstyle ':completion:*' cache-path ~/.zsh/cache

# Ignore SCM revision files
zstyle ':completion:*:(all-|)files' ignored-patterns '(|*/)(CVS|.svn|.git)'
zstyle ':completion:*:cd:*' ignored-patterns '(*/)#(CVS|.svn|.git)'

# Fuzzy completion
zstyle ':completion:*' completer _expand _complete _match _approximate
zstyle ':completion:*:match:*' original only
zstyle ':completion:*:approximate:*' max-errors 1 numeric

# Do not attempt to complete missing commands
#zstyle ':completion:*:functions' ignored-patterns '_*'

# Complete PIDS with menu
zstyle ':completion:*:*:kill:*' menu yes select
zstyle ':completion:*:kill:*' force-list always

autoload -U edit-command-line
zle -N edit-command-line
bindkey '\ee' edit-command-line

# Emacs like editing.
bindkey -e

bindkey '^[[A' history-beginning-search-backward
bindkey '^[[B' history-beginning-search-forward

# bindkey "^[[A" history-search-backward
# bindkey "^[[B" history-search-forward

autoload -U zutil

autoload -U compinit
compinit

# autoload -U promptinit
# promptinit
# prompt walters

# Renaming with globbing
# autoload zmv

################################################################
# Load user defined settings.
# Placed to the end to allow override skel settings.

if [[ -f ~/.env ]]; then
  . ~/.env
fi