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.
107 lines
2.6 KiB
107 lines
2.6 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. |
|
|
|
# Paths |
|
typeset -gU cdpath fpath mailpath manpath path |
|
typeset -gUT INFOPATH infopath |
|
|
|
cdpath=( |
|
$HOME |
|
$cdpath |
|
) |
|
|
|
infopath=( |
|
/usr/local/share/info |
|
/usr/share/info |
|
$infopath |
|
) |
|
|
|
manpath=( |
|
/usr/local/share/man |
|
/usr/share/man |
|
$manpath |
|
) |
|
|
|
for path_file in /etc/manpaths.d/*(.N); do |
|
manpath+=($(<$path_file)) |
|
done |
|
unset path_file |
|
|
|
path=( |
|
/usr/local/{bin,sbin} |
|
/usr/{bin,sbin} |
|
/{bin,sbin} |
|
$path |
|
) |
|
|
|
for path_file in /etc/paths.d/*(.N); do |
|
path+=($(<$path_file)) |
|
done |
|
unset path_file |
|
|
|
# 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 |
|
|
|
|