#----------------------------- # 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