mirror of
https://github.com/dcarrillo/prezto.git
synced 2025-06-14 19:31:43 +00:00
[#23] Convert environment into a module
This commit is contained in:
112
modules/environment/init.zsh
Normal file
112
modules/environment/init.zsh
Normal file
@ -0,0 +1,112 @@
|
||||
#
|
||||
# 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
|
||||
|
Reference in New Issue
Block a user