1
0
Fork 0

Merge branch 'master' of git://github.com/sorin-ionescu/oh-my-zsh

pull/186/head
Ben O'Hara 13 years ago
commit c6eec8b985

@ -11,23 +11,26 @@ Installation
Oh My Zsh will work with any recent release of Zsh, but the minimum recommended
version is 4.3.10.
1. Clone the repository:
1. Clone the repository:
`git clone https://github.com/sorin-ionescu/oh-my-zsh.git ~/.oh-my-zsh`
git clone https://github.com/sorin-ionescu/oh-my-zsh.git ~/.oh-my-zsh
2. Initialize the submodules:
2. Initialize the submodules:
`cd ~/.oh-my-zsh && git submodule update --init --recursive`
cd ~/.oh-my-zsh && git submodule update --init --recursive
3. Create a new Zsh configuration by copying the Zsh template provided:
3. Create a new Zsh configuration by copying the Zsh configuration file
templates provided:
`cp ~/.oh-my-zsh/templates/zshrc ~/.zshrc`
for rcfile in ~/.oh-my-zsh/templates/z{shenv,shrc,login,logout}; do
cp -f "${rcfile}" "${HOME}/.${rcfile}"
done
4. Set Zsh as your default shell:
4. Set Zsh as your default shell:
`chsh -s /bin/zsh`
chsh -s /bin/zsh
5. Open a new Zsh terminal window or tab.
5. Open a new Zsh terminal window or tab.
### Mac OS X
@ -51,29 +54,32 @@ directories end up at the tail of the array.
### Troubleshooting
If you are not able to find certain commands after switching to *Oh My Zsh*,
modify the `PATH` variable in *environment.zsh* then open a new Zsh terminal
modify the `PATH` variable in *~/.zshenv* then open a new Zsh terminal
window or tab.
## Usage
Usage
-----
Oh My Zsh has many features disabled by default. Read the source code and
accompanying README files to learn of what is available.
### Modules
1. Browse */modules* to see what is available.
2. Load the modules you need in *~/.zshrc* then open a new Zsh terminal
window or tab.
1. Browse */modules* to see what is available.
2. Load the modules you need in *~/.zshrc* then open a new Zsh terminal window
or tab.
### Themes
1. For a list of themes, type `prompt -l`.
2. To preview a theme, type `prompt -p name`.
3. Load the theme you like in *~/.zshrc* then open a new Zsh terminal window
or tab.
![sorin theme][2]
1. For a list of themes, type `prompt -l`.
2. To preview a theme, type `prompt -p name`.
3. Load the theme you like in *~/.zshrc* then open a new Zsh terminal window
or tab.
## Customization
![sorin theme][2]
Customization
-------------
The project is managed via [Git][3]. It is highly recommend that you commit
your changes and push them to [GitHub][4] to not lose them. If you do not know
@ -84,18 +90,21 @@ how to use Git, follow this [tutorial][5] and bookmark this [reference][6].
Submit program completions to the [zsh-completions][7] project. The Oh My Zsh
completions directory will be synched against it.
## Resources
Resources
---------
The [Zsh Reference Card][8] is indispensable.
## Contribute
Contribute
----------
This project would not exist without all of its users and [contributors][9].
If you have ideas on how to make the configuration easier to maintain or
improve its performance, do not hesitate to fork and send pull requests.
## License
License
-------
(The MIT License)

@ -38,18 +38,3 @@ zstyle -a ':omz:load' omodule 'omodules'
omodload "$omodules[@]"
unset omodules
# Set environment variables for launchd processes.
if [[ "$OSTYPE" == darwin* ]]; then
for env_var in PATH MANPATH; do
launchctl setenv "$env_var" "${(P)env_var}" &!
done
unset env_var
fi
# Compile the completion dump, to increase startup speed.
dump_file="$HOME/.zcompdump"
if [[ "$dump_file" -nt "${dump_file}.zwc" || ! -s "${dump_file}.zwc" ]]; then
zcompile "$dump_file"
fi
unset dump_file

@ -0,0 +1,41 @@
Archive
=======
Provides functions to extract and list popular archive formats.
Functions
---------
- `extract` extracts the contents of one or more archives.
- `ls-archive` lists the contents of one or more archives.
Supported Formats
-----------------
The following archive formats are supported when the required utilities are
installed:
- *.tar.gz*, *.tgz* require `tar`.
- *.tar.bz2*, *.tbz* require `tar`.
- *.tar.xz*, *.txz* require `tar` with *xz* support.
- *.tar.zma*, *.tlz* require `tar` with *lzma* support.
- *.tar* requires `tar`.
- *.gz* requires `gunzip`.
- *.bz2* requires `bunzip2`.
- *.xz* requires `unxz`.
- *.lzma* requires `unlzma`.
- *.Z* requires `uncompress`.
- *.zip* requires `unzip`.
- *.rar* requires `unrar`.
- *.7z* requires `7za`.
- *.deb* requires `ar`, `tar`.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][1].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: https://github.com/sorin-ionescu/oh-my-zsh/issues

@ -4,15 +4,15 @@ Completion
Loads and configures tab completion and provides additional completions from the
[zsh-completions][1] project.
This module must be loaded **after** the *alias* module but **before** the
*utility* module.
Contributors
------------
Completions should be submitted to the [zsh-completions][1] project according
to its rules and regulations. This module will be synched against it.
This module must be loaded **after** the *alias* module but **before** the
*utility* module.
Authors
-------

@ -0,0 +1,26 @@
Environment
===========
Sets general shell options and defines environment variables.
This module must be loaded first.
Environment Variables
---------------------
Contributors
------------
This module **MUST NOT** rely on any command not built in Zsh.
Non-interactive environment variables should be defined in *zshenv*.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][1].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: https://github.com/sorin-ionescu/oh-my-zsh/issues

@ -22,86 +22,20 @@ 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
export LESS_TERMCAP_mb=$'\E[01;31m' # Begins blinking.
export LESS_TERMCAP_md=$'\E[01;31m' # Begins bold.
export LESS_TERMCAP_me=$'\E[0m' # Ends mode.
export LESS_TERMCAP_se=$'\E[0m' # Ends standout-mode.
export LESS_TERMCAP_so=$'\E[00;47;30m' # Begins standout-mode.
export LESS_TERMCAP_ue=$'\E[0m' # Ends underline.
export LESS_TERMCAP_us=$'\E[01;32m' # Begins underline.
fi

@ -5,7 +5,7 @@
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
# Load and run the prompt theming system.
# Load and execute the prompt theming system.
autoload -Uz promptinit && promptinit
# Load the prompt theme.

@ -0,0 +1,75 @@
Zsh Configuration Files
=======================
Zsh has several system-wide and user-local configuration files.
System-wide configuration files are installation-dependent but are installed
in */etc* by default.
User-local configuration files have the same name as their global counterparts
but are prefixed with a dot (hidden). Zsh looks for these files in the path
stored in the `$ZDOTDIR` environmental variable. However, if said variable is
not defined, Zsh will use the user's home directory.
File Descriptions
-----------------
The configuration files are read in the following order:
01. /etc/zshenv
02. ~/.zshenv
03. /etc/zprofile
04. ~/.zprofile
05. /etc/zshrc
06. ~/.zshrc
07. /etc/zlogin
08. ~/.zlogin
09. ~/.zlogout
10. /etc/zlogout
### zshenv
This file is sourced by all instances of Zsh, and thus, it should be kept as
small as possible. It should only define environment variables.
### zprofile
This file is similar to zlogin, but it is sourced before zshrc. It was added
for [KornShell][1] fans. See the description of zlogin bellow for what it may
contain.
zprofile and zlogin are not meant to be used concurrently but can be done so.
### zshrc
This file is sourced by interactive shells. It should define aliases,
functions, shell options, and key bindings.
This is the main Oh My Zsh configuration file.
### zlogin
This file is sourced by login shells after zshrc, and thus, it should contain
commands that need to execute at login. It is usually used for messages such as
[fortune][2], [msgs][3], or for the creation of files.
This is not the file to define aliases, functions, shell options, and key
bindings. It should not change the shell environment.
### zlogout
This file is sourced by login shells during logout. It should be used for
displaying messages and the deletion of files.
Authors
-------
*The authors of these files should be contacted via the [issue tracker][4].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: http://www.kornshell.com
[2]: http://en.wikipedia.org/wiki/Fortune_(Unix)
[3]: http://www.manpagez.com/man/1/msgs
[4]: https://github.com/sorin-ionescu/oh-my-zsh/issues

@ -0,0 +1,29 @@
#
# Executes commands at login post-zshrc.
#
# Authors:
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
# Execute code that does not affect the current session in the background.
{
# Compile the completion dump to increase startup speed.
dump_file="$HOME/.zcompdump"
if [[ "$dump_file" -nt "${dump_file}.zwc" || ! -s "${dump_file}.zwc" ]]; then
zcompile "$dump_file"
fi
# Set environment variables for launchd processes.
if [[ "$OSTYPE" == darwin* ]]; then
for env_var in PATH MANPATH; do
launchctl setenv "$env_var" "${(P)env_var}"
done
fi
} &!
# Print a random, hopefully interesting, adage.
if (( $+commands[fortune] )); then
fortune -a
print
fi

@ -0,0 +1,14 @@
#
# Executes commands at logout.
#
# Authors:
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
# Print the message.
cat <<-EOF
Thank you. Come again!
-- Dr. Apu Nahasapeemapetilon
EOF

@ -0,0 +1,7 @@
#
# Executes commands at login pre-zshrc.
#
# Authors:
# Sorin Ionescu <sorin.ionescu@gmail.com>
#

@ -0,0 +1,78 @@
#
# Defines environment variables.
#
# Authors:
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
# Set the path to Oh My Zsh.
export OMZ="$HOME/.oh-my-zsh"
# Paths
typeset -gU cdpath fpath mailpath manpath path
typeset -gUT INFOPATH infopath
# Set the the list of directories that cd searches.
# cdpath=(
# $cdpath
# )
# Set the list of directories that info searches for manuals.
infopath=(
/usr/local/share/info
/usr/share/info
$infopath
)
# Set the list of directories that man searches for manuals.
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
# Set the list of directories that Zsh searches for programs.
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='nano'
export VISUAL='nano'
export PAGER='less'
# Browser (Default)
if [[ "$OSTYPE" == darwin* ]]; then
export BROWSER='open'
fi
# Less
# Set the default Less options.
# 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'
# Set the Less input preprocessor.
if (( $+commands[lesspipe.sh] )); then
export LESSOPEN='| /usr/bin/env lesspipe.sh %s 2>&-'
fi

@ -5,9 +5,6 @@
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
# Set the path to Oh My Zsh.
export OMZ="$HOME/.oh-my-zsh"
# Set the key mapping style to 'emacs' or 'vi'.
zstyle ':omz:module:editor' keymap 'emacs'

Loading…
Cancel
Save