diff --git a/README.textile b/README.textile deleted file mode 100644 index 30f7bd304..000000000 --- a/README.textile +++ /dev/null @@ -1,73 +0,0 @@ -A handful of functions, auto-complete helpers, and stuff that makes you shout... - -bq. "OH MY ZSHELL!" - -h2. Setup - -@oh-my-zsh@ should work with any recent release of "zsh":http://www.zsh.org/, the minimum recommended version is 4.3.9. - -h3. The automatic installer... (do you trust me?) - -@wget http://github.com/sjl/oh-my-zsh/raw/master/tools/install.sh -O - | sh@ - -h3. The manual way - - -1. Clone the repository - - @git clone git://github.com/sjl/oh-my-zsh.git ~/.oh-my-zsh@ - -2. Create a new zsh config by copying the zsh template we've provided. - - *NOTE*: If you already have a ~/.zshrc file, you should back it up. @cp ~/.zshrc ~/.zshrc.orig@ in case you want to go back to your original settings. - - @cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc@ - -3. Set zsh as your default shell: - - @chsh -s /bin/zsh@ - -4. Start / restart zsh (open a new terminal is easy enough...) - -h3. Problems? - -You _might_ need to modify your PATH in ~/.zshrc if you're not able to find some commands after switching to _Oh My Zsh_. - -h2. Usage - -* enable the plugins you want in your @~/.zshrc@ (take a look at @plugins/@ to see what's possible) -** example: @plugins=(git osx ruby)@ -* Theme support: Change the @ZSH_THEME@ environment variable in @~/.zshrc@. -** Take a look at the "current themes":http://wiki.github.com/sjl/oh-my-zsh/themes that come bundled with _Oh My Zsh_. -* much much more... take a look at @lib/@ what _Oh My Zsh_ offers... - -h2. Useful - -the "refcard":http://www.bash2zsh.com/zsh_refcard/refcard.pdf is pretty tasty for tips. - -h3. Customization - -If you want to override any of the default behavior, just add a new file (ending in @.zsh@) into the @custom/@ directory. -If you have many functions which go good together you can put them as a *.plugin.zsh file in the @custom/plugins/@ directory and then enable this plugin. -If you would like to override the functionality of a plugin distributed with oh-my-zsh, create a plugin of the same name in the @custom/plugins/@ directory and it will be loaded instead of the one in @plugins/@. - - -h3. Uninstalling - -If you want to uninstall it, just run @uninstall_oh_my_zsh@ from the command line and it'll remove itself and revert you to bash (or your previous zsh config). - -h2. Help out! - -I'm far from being a zsh-expert and suspect there are many ways to improve. If you have ideas on how to make the configuration easier to maintain (and faster), don't hesitate to fork and send pull requests! - -h3. Send us your theme! - -I'm hoping to collect a bunch of themes for our command prompts. You can see existing ones in the @themes/@ directory. - -h2. Contributors - -This project wouldn't exist without all of our awesome users and contributors. - -* "View our growing list of contributors":https://github.com/robbyrussell/oh-my-zsh/contributors - -Thank you so much! diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh deleted file mode 100644 index ef66e23f1..000000000 --- a/oh-my-zsh.sh +++ /dev/null @@ -1,53 +0,0 @@ -# Check for updates on initial load... -if [ "$DISABLE_AUTO_UPDATE" != "true" ] -then - /usr/bin/env zsh $ZSH/tools/check_for_upgrade.sh -fi - -# Initializes Oh My Zsh - -# add a function path -fpath=($ZSH/functions $ZSH/completions $fpath) - -# Load all of the config files in ~/oh-my-zsh that end in .zsh -# TIP: Add files you don't want in git to .gitignore -for config_file ($ZSH/lib/*.zsh) source $config_file - -# Add all defined plugins to fpath -plugin=${plugin:=()} -for plugin ($plugins) fpath=($ZSH/plugins/$plugin $fpath) - -# Load and run compinit -autoload -U compinit -compinit -i - -# Load all of the plugins that were defined in ~/.zshrc -for plugin ($plugins); do - if [ -f $ZSH/custom/plugins/$plugin/$plugin.plugin.zsh ]; then - source $ZSH/custom/plugins/$plugin/$plugin.plugin.zsh - elif [ -f $ZSH/plugins/$plugin/$plugin.plugin.zsh ]; then - source $ZSH/plugins/$plugin/$plugin.plugin.zsh - fi -done - -# Load all of your custom configurations from custom/ -if [ -d "$ZSH/custom" ]; then - for config_file ($ZSH/custom/*.zsh) source $config_file -fi - -# Load the theme -if [ "$ZSH_THEME" = "random" ] -then - themes=($ZSH/themes/*zsh-theme) - N=${#themes[@]} - ((N=(RANDOM%N)+1)) - RANDOM_THEME=${themes[$N]} - source "$RANDOM_THEME" - echo "[oh-my-zsh] Random theme '$RANDOM_THEME' loaded..." -else - if [ ! "$ZSH_THEME" = "" ] - then - source "$ZSH/themes/$ZSH_THEME.zsh-theme" - fi -fi - diff --git a/zshrc b/zshrc new file mode 100644 index 000000000..0292d22a7 --- /dev/null +++ b/zshrc @@ -0,0 +1,182 @@ +# ezzsh - zshrc + +# path to your zsh configuration. +ZSH="$HOME/.zsh" + +# export ZSH_THEME="random" +# export ZSH_THEME="ezzsh" # name of zsh theme +export ZSH_THEME="powerline" # name of zsh theme + +# Set this to true to use case-sensitive completion +CASE_SENSITIVE="false" # bool + +# Comment this out to disable weekly auto-update checks +DISABLE_AUTO_UPDATE="true" # bool + +# Uncomment following line if you want to disable colors in ls +DISABLE_LS_COLORS="false" # bool + +# Uncomment following line if you want to disable autosetting terminal title. +DISABLE_AUTO_TITLE="false" # bool + +# Uncomment following line if you want disable red dots displayed while waiting for completion +DISABLE_COMPLETION_WAITING_DOTS="true" # bool + +# plugins to load (array) +# Example format: plugins=(rails git textmate ruby lighthouse) +plugins=(git) + + +# Customize to your needs... +source $ZSH/zsh + + +# workaround for broken xfce4 terminal to force $TERM: +if [[ "$COLORTERM" == "xfce4-terminal" ]]; then + export TERM="xterm-256color" +fi + +# workaround for rxvt +if [[ "$COLORTERM" == "rxvt-xpm" ]]; then + export TERM="rxvt-unicode-256color" +fi + +# set $OS_TYPE to "osx" / "linux": +if [[ "$(uname)" == "Darwin" ]]; then + export OS_TYPE="osx" +else + export OS_TYPE="linux" +fi + +# $ZSH - Path to your zsh installation. +export ZSH=$HOME/.zsh/ + +export PATH=$HOME/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin:/sbin$PATH + +# set $EDITOR +export EDITOR='vim' + +# man pages: color +export LESS_TERMCAP_mb=$'\E[01;31m' +export LESS_TERMCAP_md=$'\E[01;33m' +export LESS_TERMCAP_me=$'\E[0m' +export LESS_TERMCAP_se=$'\E[0m' +export LESS_TERMCAP_so=$'\E[01;44;33m' +export LESS_TERMCAP_ue=$'\E[0m' +export LESS_TERMCAP_us=$'\E[01;32m' + +# zsh fix for ssh host completion from ~/.ssh/config +[ -f ~/.ssh/config ] && : ${(A)ssh_config_hosts:=${${${${(@M)${(f)"$(<~/.ssh/config)"}:#Host *}#Host }:#*\**}:#*\?*}} + +# needed to keep backgrounded jobs running when exiting zsh: +setopt NO_HUP + +# homebrew +# githup api token, in the format, example: +# > export HOMEBREW_GITHUB_API_TOKEN=XXXXX +if [[ -e ~/.homebrew-github-api-token ]]; then + source ~/.homebrew-github-api-token +fi + +# mosh setup +# export MOSH_TITLE_NOPREFIX=1 + +# jump/mark/unmark/marks stuff (make sure to load the "jump" plugin in plugins=() ) +function _completemarks { + reply=($(ls $MARKPATH)) +} +compctl -K _completemarks jump +compctl -K _completemarks unmark + +# force english locales +export LC_CTYPE="en_US.UTF-8" +export LC_NUMERIC="en_US.UTF-8" +export LC_TIME="en_US.UTF-8" +export LC_COLLATE="en_US.UTF-8" +export LC_MONETARY="en_US.UTF-8" +export LC_MESSAGES="en_US.UTF-8" +export LC_PAPER="en_US.UTF-8" +export LC_NAME="en_US.UTF-8" +export LC_ADDRESS="en_US.UTF-8" +export LC_TELEPHONE="en_US.UTF-8" +export LC_MEASUREMENT="en_US.UTF-8" +export LC_IDENTIFICATION="en_US.UTF-8" +export LC_ALL="en_US.UTF-8" + +# set ls options +LS_OPTIONS="--color=auto --group-directories-first -F" +alias ls="ls $LS_OPTIONS" +alias l="ls $LS_OPTIONS -al" + +# Mac OS X specific stuff: +if [[ "$OS_TYPE" == "osx" ]]; then + # preceed path with homebrew stuff: + export PATH="/usr/local/sbin:/usr/local/bin:$PATH" + # ipython on mac: + alias ipython='/Users/armin/git/ipython/bin/ipython' + # homebrew verbosity / emoji icon removal: + export HOMEBREW_VERBOSE=1 + export HOMEBREW_CURL_VERBOSE=1 + export HOMEBREW_NO_EMOJI=1 + # let's use ls from gnu utils because the bsd ls doesn't know long options: + if hash gls; then + LS_COMMAND="gls" + else + LS_COMMAND="ls" + fi + # homebrew verbose and without annoying emoji icon: + export HOMEBREW_VERBOSE=1 + export HOMEBREW_CURL_VERBOSE=1 + export HOMEBREW_NO_EMOJI=1 + # let's use dircolors from gnu utils because the osx version is buggy: + alias dircolors="gdircolors" +# Linux specific stuff +else + LS_COMMAND="ls" +fi + +# enable ls colorization: +if [ "$TERM" != "dumb" ]; then + eval "$(dircolors "$ZSH"/dircolors)" + alias ls="$LS_COMMAND $LS_OPTIONS" +fi + +# set $SHELL: +export SHELL="$(which zsh)" + +# keychain stuff +if [[ "$OS_TYPE" == "linux" ]]; then + ssh_cmd="$(which ssh)" + function ssh () { + echo "$@" >> $HOME/.keychain-args + echo "$(date)" > $HOME/.keychain-output + # using keychain for gpg made problems, so we only use the id_rsa SSH key here: + # keychain id_rsa 44248BA0 + keychain id_rsa >> $HOME/.keychain-output 2>&1 + [ -z "$HOSTNAME" ] && HOSTNAME=`uname -n` + [ -f $HOME/.keychain/$HOSTNAME-sh ] && \ + . $HOME/.keychain/$HOSTNAME-sh + [ -f $HOME/.keychain/$HOSTNAME-sh-gpg ] && \ + . $HOME/.keychain/$HOSTNAME-sh-gpg + "$ssh_cmd" "$@" + } +fi + +# grep with color +alias grep='grep --color=auto' + +# enable ls colorization: +if [ "$TERM" != "dumb" ]; then + eval "$(dircolors "$ZSH"/dircolors)" + alias ls="$LS_COMMAND $LS_OPTIONS" +fi + +# do not autocorrect sudo commands (fixes "zsh: correct 'vim' to '.vim' [nyae]?") +# alias sudo='nocorrect sudo' + +# or, the more brutal attempt: +unsetopt correct{,all} + + +alias sd='ssh deep' +