You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

113 lines
2.7 KiB

#
# Sets general shell options and defines environment variables.
#
# Authors:
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
# Smart URLs
autoload -Uz url-quote-magic
zle -N self-insert url-quote-magic
# General
setopt BRACE_CCL # Allow brace character class list expansion.
setopt RC_QUOTES # Allow 'Henry''s Garage' instead of 'Henry'\''s Garage'.
unsetopt MAIL_WARNING # Don't print a warning message if a mail file has been accessed.
# Jobs
setopt LONG_LIST_JOBS # List jobs in the long format by default.
setopt AUTO_RESUME # Attempt to resume existing job before creating a new process.
setopt NOTIFY # Report status of background jobs immediately.
unsetopt BG_NICE # Don't run all background jobs at a lower priority.
unsetopt HUP # Don't kill jobs on shell exit.
unsetopt CHECK_JOBS # Don't report on jobs when shell exit.
# PATH
typeset -gU cdpath fpath mailpath manpath path
typeset -gUT INFOPATH infopath
cdpath=(
$HOME
$HOME/Developer
$cdpath
)
infopath=(
$HOME/.tilde/share/info
$HOME/.tilde/opt/share/info
/usr/local/share/info
/usr/share/info
$infopath
)
manpath=(
$HOME/.tilde/share/man
$HOME/.tilde/opt/share/man
/usr/local/share/man
/usr/share/man
$manpath
)
for path_file in /etc/manpaths.d/*(.N); do
manpath+=($(<$path_file))
done
path=(
$HOME/.tilde/{bin,sbin}
$HOME/.tilde/opt/{bin,sbin}
/usr/local/{bin,sbin}
/usr/{bin,sbin}
/{bin,sbin}
$path
)
for path_file in /etc/paths.d/*(.N); do
path+=($(<$path_file))
done
# Language
if [[ -z "$LANG" ]]; then
eval "$(locale)"
fi
# Editors
export EDITOR="vim"
export VISUAL="vim"
export PAGER='less'
# Grep
if zstyle -t ':omz:environment:grep' color; then
export GREP_COLOR='37;45'
export GREP_OPTIONS='--color=auto'
fi
# Browser (Default)
if [[ "$OSTYPE" == darwin* ]]; then
export BROWSER='open'
fi
# Less
export LESSCHARSET="UTF-8"
export LESSHISTFILE='-'
export LESSEDIT='vim ?lm+%lm. %f'
# Mouse-wheel scrolling has been disabled by -X (disable screen clearing).
# Remove -X and -F (exit if the content fits on one screen) to enable it.
export LESS='-F -g -i -M -R -S -w -X -z-4'
if (( $+commands[lesspipe.sh] )); then
export LESSOPEN='| /usr/bin/env lesspipe.sh %s 2>&-'
fi
# Termcap
if zstyle -t ':omz:environment:termcap' color; then
export LESS_TERMCAP_mb=$'\E[01;31m' # begin blinking
export LESS_TERMCAP_md=$'\E[01;31m' # begin bold
export LESS_TERMCAP_me=$'\E[0m' # end mode
export LESS_TERMCAP_se=$'\E[0m' # end standout-mode
export LESS_TERMCAP_so=$'\E[00;47;30m' # begin standout-mode
export LESS_TERMCAP_ue=$'\E[0m' # end underline
export LESS_TERMCAP_us=$'\E[01;32m' # begin underline
fi