From 0ebab432d312721b5b157df48eb26cc682c2cb66 Mon Sep 17 00:00:00 2001 From: Yan Pritzker Date: Tue, 22 Nov 2011 19:02:36 -0600 Subject: [PATCH] Configuration for zsh --- README.md | 12 ++++++++++++ bash_profile | 3 +++ zsh_aliases | 18 ++++++++++++++++++ zshrc | 27 +++++++++++++++++++++++++++ 4 files changed, 60 insertions(+) create mode 100644 zsh_aliases create mode 100644 zshrc diff --git a/README.md b/README.md index e460cd25..2678267f 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,18 @@ This project uses git submodules for some of its plugins. Please run: To get all the current plugins. Over time, I plan to move all plugins into submodules. +Setup for ZSH +--- +I am now using ZSH as my default shell because of its awesome globbing +and autocomplete features, nice colors, etc. This setup assumes you use +oh-my-zsh (https://github.com/robbyrussell/oh-my-zsh) + +Place this as the last line in your ~/.zshrc created by oh-my-zsh: + + source ~/.dotfiles/zshrc + +This setup reuses my bash aliases but provides some custom functions. + Setup for Bash --- To set these up as your own (careful, don't overwrite your bash_profile unintentionally!): diff --git a/bash_profile b/bash_profile index 47a727ea..bd84364d 100755 --- a/bash_profile +++ b/bash_profile @@ -10,3 +10,6 @@ fi . ~/.dotfiles/bash_aliases . ~/.dotfiles/bash_options . ~/.dotfiles/bash_path + +# RVM +[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" diff --git a/zsh_aliases b/zsh_aliases new file mode 100644 index 00000000..c67f8ec3 --- /dev/null +++ b/zsh_aliases @@ -0,0 +1,18 @@ +# Aliases that only make sense in zsh + +# Functions +# +# (f)ind by (n)ame +# usage: fn foo +# to find all files containing 'foo' in the name, the grep adds a pretty highlight +fn() { ls **/*$1* | grep $1 } + +# Global aliases +alias -g ...='../..' +alias -g ....='../../..' +alias -g .....='../../../..' +alias -g C='| wc -l' +alias -g H='| head' +alias -g L="| less" +alias -g N="| /dev/null" +alias -g S='| sort' diff --git a/zshrc b/zshrc new file mode 100644 index 00000000..d0e12a0c --- /dev/null +++ b/zshrc @@ -0,0 +1,27 @@ +# Configuration +source ~/.dotfiles/bash_aliases +source ~/.dotfiles/zsh_aliases +source ~/.dotfiles/bash_path +# +# Things I don't want to publish to github +source ~/.secrets + +# Vim mode +bindkey -v + +# Give me my bash style incremental search +bindkey '^R' history-incremental-search-backward + +# Speed up git completion +# http://talkings.org/post/5236392664/zsh-and-slow-git-completion +__git_files () { + _wanted files expl 'local files' _files +} + +# Always pushd when changing directory +setopt auto_pushd + +# Fuzzy matching of completions for when you mistype them: +zstyle ':completion:*' completer _complete _match _approximate +zstyle ':completion:*:match:*' original only +zstyle ':completion:*:approximate:*' max-errors 1 numeric