oopen-server/roles/common/files/etc/zsh/zshrc
2021-10-30 02:35:49 +02:00

87 lines
2.0 KiB
Bash
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#-----------------------------
# settings
#-----------------------------
# parameters
export SAVEHIST="1000"
# colors
autoload -U colors && colors
# zshoptions
unsetopt EXTENDED_HISTORY # history: disable timestamp
setopt HIST_IGNORE_DUPS # history: no duplicates
setopt HIST_IGNORE_ALL_DUPS # history: no duplicates in entire history
setopt HIST_REDUCE_BLANKS # history: remove superfluous blanks
setopt SHARE_HISTORY # history: read and write on each command
setopt PRINT_EIGHT_BIT # print eight bit characters literally
unsetopt MAIL_WARNING # mail: disable notification
#-----------------------------
# keybindings
#-----------------------------
# http://zshwiki.org/home/zle/bindkeys#why_isn_t_control-r_working_anymore
bindkey -e
bindkey -M emacs "$terminfo[kdch1]" delete-char
bindkey -M emacs "$terminfo[khome]" beginning-of-line
bindkey -M emacs "$terminfo[kend]" end-of-line
# move between words with alt+arrow
bindkey "" forward-word
bindkey "" backward-word
# fix "del" key: https://git.suckless.org/st/plain/FAQ
if [ $TERM = "st-256color" ]
then
function zle-line-init () { echoti smkx }
function zle-line-finish () { echoti rmkx }
zle -N zle-line-init
zle -N zle-line-finish
fi
#-----------------------------
# prompt
#-----------------------------
EXITCODE="%(?..%?%1v )"
if [ $EXITCODE = 0 ]
then
unset COLORED_EXITCODE
else
COLORED_EXITCODE="%{$fg_bold[red]%}${EXITCODE}"
fi
if [ $UID = 0 ]
then
UID_COLOR="%{$fg_bold[red]%}"
else
UID_COLOR="%{$fg_bold[cyan]%}"
fi
PROMPT="${COLORED_EXITCODE}${UID_COLOR}%n%{$reset_color%}@%m %B%~%b %{$fg_bold[green]%}%#%{$reset_color%} "
#-----------------------------
# window title
#-----------------------------
case $TERM in
xterm*|rxvt*)
precmd () { print -Pn "\e]0;%n@%M %~ - $TERM\a" }
preexec () { print -Pn "\e]0;%n@%M %~ %# $1 - $TERM\a" }
;;
screen*)
precmd () { print -Pn "\e]0;%n@%M %~ \a" }
preexec () { print -Pn "\e]0;%n@%M %~ %# $1\a" }
;;
esac
#-----------------------------
# global shell settings
#-----------------------------
source ~alex/.shrc
ZLS_COLORS=$ZLS_COLORS