87 lines
2.0 KiB
Bash
87 lines
2.0 KiB
Bash
#-----------------------------
|
||
# 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 "[1;3C" forward-word
|
||
bindkey "[1;3D" 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
|