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
 |