merge master branch.

This commit is contained in:
Kyle West
2012-03-21 15:33:34 -04:00
73 changed files with 800 additions and 133 deletions

58
.gitmodules vendored
View File

@@ -14,10 +14,6 @@
path = vim/bundle/vim-scripts-AnsiEsc path = vim/bundle/vim-scripts-AnsiEsc
url = https://github.com/vim-scripts/AnsiEsc.vim.git url = https://github.com/vim-scripts/AnsiEsc.vim.git
ignore=dirty ignore=dirty
[submodule "vim/bundle/garbas-vim-showmarks"]
path = vim/bundle/garbas-vim-showmarks
url = https://github.com/garbas/vim-showmarks
ignore=dirty
[submodule "vim/bundle/skwp-vim-ruby-conque"] [submodule "vim/bundle/skwp-vim-ruby-conque"]
path = vim/bundle/skwp-vim-ruby-conque path = vim/bundle/skwp-vim-ruby-conque
url = https://github.com/skwp/vim-ruby-conque url = https://github.com/skwp/vim-ruby-conque
@@ -74,10 +70,6 @@
path = vim/bundle/tpope-vim-repeat path = vim/bundle/tpope-vim-repeat
url = https://github.com/tpope/vim-repeat.git url = https://github.com/tpope/vim-repeat.git
ignore=dirty ignore=dirty
[submodule "vim/bundle/vim-scripts-taglist"]
path = vim/bundle/vim-scripts-taglist
url = https://github.com/vim-scripts/taglist.vim.git
ignore=dirty
[submodule "vim/bundle/tpope-vim-surround"] [submodule "vim/bundle/tpope-vim-surround"]
path = vim/bundle/tpope-vim-surround path = vim/bundle/tpope-vim-surround
url = https://github.com/tpope/vim-surround.git url = https://github.com/tpope/vim-surround.git
@@ -118,10 +110,6 @@
path = vim/bundle/skwp-vim-colors-solarized path = vim/bundle/skwp-vim-colors-solarized
url = https://github.com/skwp/vim-colors-solarized url = https://github.com/skwp/vim-colors-solarized
ignore=dirty ignore=dirty
[submodule "vim/bundle/rson-vim-conque"]
path = vim/bundle/rson-vim-conque
url = https://github.com/rson/vim-conque.git
ignore=dirty
[submodule "vim/bundle/tpope-vim-pathogen"] [submodule "vim/bundle/tpope-vim-pathogen"]
path = vim/bundle/tpope-vim-pathogen path = vim/bundle/tpope-vim-pathogen
url = https://github.com/tpope/vim-pathogen url = https://github.com/tpope/vim-pathogen
@@ -134,14 +122,6 @@
path = vim/bundle/tpope-vim-fugitive path = vim/bundle/tpope-vim-fugitive
url = https://github.com/tpope/vim-fugitive url = https://github.com/tpope/vim-fugitive
ignore=dirty ignore=dirty
[submodule "vim/bundle/mikefarmer-snipmate"]
path = vim/bundle/mikefarmer-snipmate
url = https://github.com/mikefarmer/snipmate.vim.git
ignore=dirty
[submodule "vim/snippets"]
path = vim/snippets
url = https://github.com/scrooloose/snipmate-snippets.git
ignore=dirty
[submodule "vim/bundle/skwp-vim-git-grep-rails-partial"] [submodule "vim/bundle/skwp-vim-git-grep-rails-partial"]
path = vim/bundle/skwp-vim-git-grep-rails-partial path = vim/bundle/skwp-vim-git-grep-rails-partial
url = https://github.com/skwp/vim-git-grep-rails-partial url = https://github.com/skwp/vim-git-grep-rails-partial
@@ -234,10 +214,6 @@
path = vim/bundle/bootleq-vim-textobj-rubysymbol path = vim/bundle/bootleq-vim-textobj-rubysymbol
url = https://github.com/bootleq/vim-textobj-rubysymbol url = https://github.com/bootleq/vim-textobj-rubysymbol
ignore=dirty ignore=dirty
[submodule "vim/bundle/skwp-vim-rspec"]
path = vim/bundle/skwp-vim-rspec
url = https://github.com/skwp/vim-rspec
ignore=dirty
[submodule "vim/bundle/nathanaelkane-vim-indent-guides"] [submodule "vim/bundle/nathanaelkane-vim-indent-guides"]
path = vim/bundle/nathanaelkane-vim-indent-guides path = vim/bundle/nathanaelkane-vim-indent-guides
url = https://github.com/nathanaelkane/vim-indent-guides url = https://github.com/nathanaelkane/vim-indent-guides
@@ -250,10 +226,6 @@
path = vim/bundle/tpope-vim-haml path = vim/bundle/tpope-vim-haml
url = https://github.com/tpope/vim-haml url = https://github.com/tpope/vim-haml
ignore=dirty ignore=dirty
[submodule "vim/bundle/kien-tabman"]
path = vim/bundle/kien-tabman
url = https://github.com/kien/tabman.vim
ignore=dirty
[submodule "vim/bundle/claco-jasmine"] [submodule "vim/bundle/claco-jasmine"]
path = vim/bundle/claco-jasmine path = vim/bundle/claco-jasmine
url = https://github.com/claco/jasmine.vim url = https://github.com/claco/jasmine.vim
@@ -285,3 +257,33 @@
[submodule "vim/bundle/joestelmach-javaScriptLint"] [submodule "vim/bundle/joestelmach-javaScriptLint"]
path = vim/bundle/joestelmach-javaScriptLint path = vim/bundle/joestelmach-javaScriptLint
url = https://github.com/joestelmach/javaScriptLint.vim url = https://github.com/joestelmach/javaScriptLint.vim
[submodule "vim/bundle/VimEz-ShowMarks"]
path = vim/bundle/VimEz-ShowMarks
url = https://github.com/VimEz/ShowMarks.git
[submodule "vim/bundle/skwp-vim-powerline"]
path = vim/bundle/skwp-vim-powerline
url = https://github.com/skwp/vim-powerline
[submodule "vim/bundle/kana-vim-arpeggio"]
path = vim/bundle/kana-vim-arpeggio
url = https://github.com/kana/vim-arpeggio
[submodule "vim/bundle/chrisbra-color_highlight"]
path = vim/bundle/chrisbra-color_highlight
url = https://github.com/chrisbra/color_highlight.git
[submodule "vim/bundle/vim-scripts-camelcasemotion"]
path = vim/bundle/vim-scripts-camelcasemotion
url = https://github.com/vim-scripts/camelcasemotion.git
[submodule "vim/bundle/garbas-vim-snipmate"]
path = vim/bundle/garbas-vim-snipmate
url = https://github.com/garbas/vim-snipmate.git
[submodule "vim/bundle/MarcWeber-vim-addon-mw-utils"]
path = vim/bundle/MarcWeber-vim-addon-mw-utils
url = https://github.com/MarcWeber/vim-addon-mw-utils.git
[submodule "vim/bundle/tomtom-tlib_vim"]
path = vim/bundle/tomtom-tlib_vim
url = https://github.com/tomtom/tlib_vim.git
[submodule "vim/bundle/honza-snipmate-snippets"]
path = vim/bundle/honza-snipmate-snippets
url = https://github.com/honza/snipmate-snippets.git
[submodule "vim/bundle/skwp-vim-conque"]
path = vim/bundle/skwp-vim-conque
url = https://github.com/skwp/vim-conque

View File

@@ -5,7 +5,7 @@
_____| / ___ ( (_| | | _____| / ___ ( (_| | |
(_______\_____|\____|_| (_______\_____|\____|_|
# Yet Another Dotfile Repo v0.8 # Yet Another Dotfile Repo v0.9
# Alpha Release Please Report Bugs # Alpha Release Please Report Bugs
git clone https://github.com/skwp/dotfiles ~/.yadr git clone https://github.com/skwp/dotfiles ~/.yadr
@@ -43,13 +43,13 @@ Janus is an amazing _first effort_ to deliver a ready-to-use vim setup and is a
* Optimized support for Solarized color scheme only, everything guaranteed to Look Good. Your eyes will thank you. * Optimized support for Solarized color scheme only, everything guaranteed to Look Good. Your eyes will thank you.
* All plugins tested with Solarized and custom color maps provided where needed to ensure your eyes will not bleed. * All plugins tested with Solarized and custom color maps provided where needed to ensure your eyes will not bleed.
* No configuration file to maintain. YADR uses tiny ruby scripts to wrap git submodule maintenance. * No configuration file to maintain. YADR uses tiny ruby scripts to wrap git submodule maintenance.
* Much cleaner vimrc that does not introduce any new key maps. (Janus: 160 lines vimrc, 260 lines gvimrc; YADR: 90 lines vimrc with great comments) * Much cleaner vimrc that keps keymaps isolated to a plugin file (not in the main vimrc).
* All keymaps and customization in small, easy to maintain files under .vim/plugin/settings * All keymaps and customization in small, easy to maintain files under .vim/plugin/settings
* More than just vim plugins - great shell aliases, osx, and irb/pry tweaks to make you more productive. * More than just vim plugins - great shell aliases, osx, and irb/pry tweaks to make you more productive.
## Screenshot ## Screenshot
![screenshot](http://i.imgur.com/lEFlF.png) ![screenshot](http://i.imgur.com/afzuR.png)
## Before you start ## Before you start
@@ -57,12 +57,21 @@ Janus is an amazing _first effort_ to deliver a ready-to-use vim setup and is a
For the love of all that is holy, stop abusing your hands! For the love of all that is holy, stop abusing your hands!
Remap caps-lock to escape: http://pqrs.org/macosx/keyremap4macbook/extra.html Remap caps-lock to escape: http://pqrs.org/macosx/keyremap4macbook/extra.html
## Debugging vim keymappings
This is so useful, it needs to be at the top. If you are having unexpected behavior, wondering why a particular key works the way it does,
use: `:map [keycombo]` (e.g. `:map <C-\>`) to see what the key is mapped to. For bonus points, you can see where the mapping was set by using `:verbose map [keycombo]`.
If you omit the key combo, you'll get a list of all the maps. You can do the same thing with nmap, imap, vmap, etc.
## Dependencies ## Dependencies
YADR is opinionated. To get the most out of using it, you should install YADR is opinionated. To get the most out of using it, you should install
all the software it depends on. all the software it depends on.
### Patched fonts for Vim-Powerline
Please install fonts from fonts/ directory. These are used to give a really nice vim status line.
### [Homebrew](http://mxcl.github.com/homebrew/) ### [Homebrew](http://mxcl.github.com/homebrew/)
Homebrew is _the missing package manager for OSX_. To install: Homebrew is _the missing package manager for OSX_. To install:
@@ -105,6 +114,12 @@ waiting for @robbyrussell to merge the theme upstream (unknown if it will happen
git remote add skwp https://github.com/skwp/oh-my-zsh.git git remote add skwp https://github.com/skwp/oh-my-zsh.git
git pull skwp master git pull skwp master
### [fasd](https://github.com/clvv/fasd)
fasd gives you handy shell commands `f`,`a`,`s`,`d`, and `z` to jump to recently used files.
Read more at the project's home page. Or just type `z` followed by a partial reference to
a recent directory to see how it works.
### [Pry](http://pry.github.com/) ### [Pry](http://pry.github.com/)
Pry offers a much better out of the box IRB experience with colors, tab completion, and lots of other tricks. You should: Pry offers a much better out of the box IRB experience with colors, tab completion, and lots of other tricks. You should:
@@ -125,6 +140,9 @@ git clone https://github.com/skwp/dotfiles ~/.yadr
cd ~/.yadr && rake install cd ~/.yadr && rake install
``` ```
Open the fonts in fonts/ and click Install Font for every font that you want.
You must install Inconsolata to have YADR's powerline theme work correctly out of the box.
Note: YADR will not destroy any of your files unless you tell it to. Note: YADR will not destroy any of your files unless you tell it to.
@@ -219,7 +237,6 @@ your `~/.secrets` file which is automatically referenced by the provided zshrc:
* Slightly imrpoved colors for diff * Slightly imrpoved colors for diff
* `git unstage` (remove from index) and `git uncommit` (revert to the time prior to the last commit - dangerous if already pushed) aliases * `git unstage` (remove from index) and `git uncommit` (revert to the time prior to the last commit - dangerous if already pushed) aliases
## RubyGems ## RubyGems
A .gemrc is included. Never again type `gem install whatever --no-ri --no-rdoc`. `--no-ri --no-rdoc` is done by default. A .gemrc is included. Never again type `gem install whatever --no-ri --no-rdoc`. `--no-ri --no-rdoc` is done by default.
@@ -242,7 +259,7 @@ files contain key mappings as well (TODO: probably will move them out to skwp-ke
* `,z` - go to previous buffer (:bp) * `,z` - go to previous buffer (:bp)
* `,x` - go to next buffer (:bn) * `,x` - go to next buffer (:bn)
* `Ctrl-j` and `Ctrl-k` to move up and down roughly by functions * `Cmd-j` and `Cmd-k` to move up and down roughly by functions
* `Ctrl-o` - Old cursor position - this is a standard mapping but very useful, so included here * `Ctrl-o` - Old cursor position - this is a standard mapping but very useful, so included here
* `Ctrl-i` - opposite of Ctrl-O (again, this is standard) * `Ctrl-i` - opposite of Ctrl-O (again, this is standard)
@@ -261,9 +278,8 @@ files contain key mappings as well (TODO: probably will move them out to skwp-ke
#### Rails #### Rails
* `,ru` - Rails Unittest - synonym for `:AV` from rails.vim, opens up the corresponding test/spec to the file you're looking for, in a vertical split
* `,ss` to run specs, `,ll` to run a given spec on a line - using my [vim-ruby-conque plugin](https://github.com/skwp/vim-ruby-conque) * `,ss` to run specs, `,ll` to run a given spec on a line - using my [vim-ruby-conque plugin](https://github.com/skwp/vim-ruby-conque)
* `Cmd-Shift-R` to use vim-rspec to run a spec file. `Cmd-Shift-L` to run from a line (individual it block) * `Cmd-Shift-R` to use vim-ruby-conque to run a spec file. `Cmd-Shift-L` to run from a line (individual it block)
#### Surround.vim customizations #### Surround.vim customizations
@@ -275,11 +291,12 @@ files contain key mappings as well (TODO: probably will move them out to skwp-ke
* `,f` - instantly Find definition of class (must have exuberant ctags installed) * `,f` - instantly Find definition of class (must have exuberant ctags installed)
* `,F` - same as ,f but in a vertical split * `,F` - same as ,f but in a vertical split
* `,gf` - same as vim normal gf (go to file), but in a vertical split
* `K` - GitGrep the current word under the cursor and show results in quickfix window * `K` - GitGrep the current word under the cursor and show results in quickfix window
* `,K` - GitGrep the current word up to next exclamation point (useful for ruby foo! methods) * `,K` - GitGrep the current word up to next exclamation point (useful for ruby foo! methods)
* `Cmd-*` - highlight all occurrences of current word (similar to regular `*` except doesn't move) * `Cmd-*` - highlight all occurrences of current word (similar to regular `*` except doesn't move)
* `,hl` - toggle search highlight on and off * `,hl` - toggle search highlight on and off
* `,gg` - GitGrep command line with a quote pretyped (close the quote yourself) * `,gg` - GitGrep command line, type between quotes
* `,gd` - GitGrep def (greps for 'def [function name]') when cursor is over the function name * `,gd` - GitGrep def (greps for 'def [function name]') when cursor is over the function name
* `,gcp` - GitGrep Current Partial to find references to the current view partial * `,gcp` - GitGrep Current Partial to find references to the current view partial
* `//` - clear the search * `//` - clear the search
@@ -314,6 +331,7 @@ files contain key mappings as well (TODO: probably will move them out to skwp-ke
* `,.` to go to last edit location instead of `'.` because the apostrophe is hard on the pinky * `,.` to go to last edit location instead of `'.` because the apostrophe is hard on the pinky
* `Cmd-'` and `Cmd-"` to change content inside quotes * `Cmd-'` and `Cmd-"` to change content inside quotes
* Cmd-Space to autocomplete. Tab for snipmate snippets. * Cmd-Space to autocomplete. Tab for snipmate snippets.
* `fd` and `jk` key *chords* - hit the first two homerow buttons simultaneously on either side of the keyboard to go to beginning and end of line
#### Tab Navigation #### Tab Navigation
@@ -322,8 +340,9 @@ files contain key mappings as well (TODO: probably will move them out to skwp-ke
#### Window Navigation #### Window Navigation
* `H` `L` `I` `M` - to move left, right, up, down between windows * `Ctrl-h,l,j,k` - to move left, right, down, up between windows
* `Q` - Intelligent Window Killer. Close window `wincmd c` if there are multiple windows to same buffer, or kill the buffer `bwipeout` if this is the last window into it. * `Q` - Intelligent Window Killer. Close window `wincmd c` if there are multiple windows to same buffer, or kill the buffer `bwipeout` if this is the last window into it.
* `+` and `-` for resizing vertical windows
#### Splits #### Splits
@@ -342,7 +361,7 @@ files contain key mappings as well (TODO: probably will move them out to skwp-ke
* `,ig` - toggle visual indentation guides * `,ig` - toggle visual indentation guides
* `,cf` - Copy Filename of current file into system (not vi) paste buffer * `,cf` - Copy Filename of current file into system (not vi) paste buffer
* `,cc` - (Current command) copies the command under your cursor and executes it in vim. Great for testing single line changes to vimrc. * `,vc` - (Vim Command) copies the command under your cursor and executes it in vim. Great for testing single line changes to vimrc.
* `,yw` - yank a word from anywhere within the word (so you don't have to go to the beginning of it) * `,yw` - yank a word from anywhere within the word (so you don't have to go to the beginning of it)
* `,ow` - overwrite a word with whatever is in your yank buffer - you can be anywhere on the word. saves having to visually select it * `,ow` - overwrite a word with whatever is in your yank buffer - you can be anywhere on the word. saves having to visually select it
* `,w` - strip trailing whitespaces * `,w` - strip trailing whitespaces
@@ -351,6 +370,7 @@ files contain key mappings as well (TODO: probably will move them out to skwp-ke
* `,he` - Html Escape * `,he` - Html Escape
* `,hu` - Html Unescape * `,hu` - Html Unescape
* `Cmd-Shift-A` - align things (type a character/expression to align by, works in visual mode or by itself) * `Cmd-Shift-A` - align things (type a character/expression to align by, works in visual mode or by itself)
* `:ColorCodes` - turn on #abc123 color highlighting (useful for css)
#### Comments #### Comments
@@ -374,7 +394,6 @@ files contain key mappings as well (TODO: probably will move them out to skwp-ke
* TagBar - hit ,T to see a list of methods in a class (uses ctags) * TagBar - hit ,T to see a list of methods in a class (uses ctags)
* CtrlP - Ctrl-p or ,t to find a file * CtrlP - Ctrl-p or ,t to find a file
* VimBookmarks - toggle an anonymous bookmark ,bb and go thru them ,bn ,bp and clear them ,bc * VimBookmarks - toggle an anonymous bookmark ,bb and go thru them ,bn ,bp and clear them ,bc
* TabMan - hit ,mt to see all tabs and buffers in a tree. Easy to navigate and close.
#### Git #### Git
@@ -387,6 +406,7 @@ files contain key mappings as well (TODO: probably will move them out to skwp-ke
* AnsiEsc - inteprets ansi color codes inside log files. great for looking at Rails logs * AnsiEsc - inteprets ansi color codes inside log files. great for looking at Rails logs
* solarized - a color scheme scientifically calibrated for awesomeness (including skwp mods for ShowMarks) * solarized - a color scheme scientifically calibrated for awesomeness (including skwp mods for ShowMarks)
* csapprox - helps colors to be represented correctly on terminals (even though we expect to use MacVim) * csapprox - helps colors to be represented correctly on terminals (even though we expect to use MacVim)
* Powerline - beautiful vim status bar. Requires patched fonts (install from fonts/ directory)
#### Coding #### Coding
@@ -421,17 +441,18 @@ files contain key mappings as well (TODO: probably will move them out to skwp-ke
* surround - super easy quote and tag manipulation - ysiw" - sourround inner word with quotes. ci"' - change inner double quotes to single quotes, etc * surround - super easy quote and tag manipulation - ysiw" - sourround inner word with quotes. ci"' - change inner double quotes to single quotes, etc
* greplace - use :Gsearch to find across many files, replace inside the changes, then :Greplace to do a replace across all matches * greplace - use :Gsearch to find across many files, replace inside the changes, then :Greplace to do a replace across all matches
* ConqueTerm - embedded fully colorful shell inside your vim * ConqueTerm - embedded fully colorful shell inside your vim
* vim-ruby-conque - helpers to run ruby,rspec,rake within ConqueTerm - use ,rr (ruby), ,ss (rspec), ,ll (rspec line), ,RR (rake) * vim-ruby-conque - helpers to run ruby,rspec,rake within ConqueTerm
* vim-rspec - really clean and colorful rspec output (Cmd-Shift-R) with ability to navigate directly to error; will replace vim-ruby-conque when I do a couple enhancements/bug fixes
* vim-markdown-preview - :Mm to view your README.md as html * vim-markdown-preview - :Mm to view your README.md as html
* html-escape - ,he and ,hu to escape and unescape html * html-escape - ,he and ,hu to escape and unescape html
* ruby-debug-ide - not quite working for me, but maybe it will for you. supposedly a graphical debugger you can step through * ruby-debug-ide - not quite working for me, but maybe it will for you. supposedly a graphical debugger you can step through
* Gundo - visualize your undos - pretty amazing plugin. Hit ,u with my keymappings to trigger it, very user friendly * Gundo - visualize your undos - pretty amazing plugin. Hit ,u with my keymappings to trigger it, very user friendly
* slime - use ctrl-c,ctrl-c to send text to a running irb/pry/console. To start the console, you must use screen with a named session: "screen -S [name] [cmd]", ex: "screen -S pry pry" * slime - use ctrl-c,ctrl-c to send text to a running irb/pry/console. To start the console, you must use screen with a named session: "screen -S [name] [cmd]", ex: "screen -S pry pry"
* vim-indent-guides - visual indent guides, off by default * vim-indent-guides - visual indent guides, off by default
* color_highlight - use :ColorCodes to see hex colors highlighted
#### General enhancements that don't add new commands #### General enhancements that don't add new commands
* Arpeggio - allows you to define key-chord combinations
* IndexedSearch - when you do searches will show you "Match 2 of 4" in the status line * IndexedSearch - when you do searches will show you "Match 2 of 4" in the status line
* delimitMate - automatically closes quotes * delimitMate - automatically closes quotes
* syntastic - automatic syntax checking when you save the file * syntastic - automatic syntax checking when you save the file
@@ -508,11 +529,6 @@ And everything that's in the modules included in vim/bundle of course.
Please explore these people's work. Please explore these people's work.
### Coming Soon
* Automatic installation setup
### Contributors ### Contributors
* Initial Version: @skwp * Initial Version: @skwp

595
bin/fasd Executable file
View File

@@ -0,0 +1,595 @@
#!/usr/bin/env sh
# Fasd (this file) can be sourced or executed by any POSIX compatible shell.
# Fasd is originally written based on code from z (https://github.com/rupa/z)
# by rupa deadwyler under the WTFPL license. Most if not all of the code has
# been rewritten.
# Copyright (C) 2011, 2012 by Wei Dai. All rights reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
fasd() {
case "$1" in
--init)
shift
while [ "$1" ]; do
case $1 in
env)
{ # source rc files if present
[ -s "/etc/fasdrc" ] && . "/etc/fasdrc"
[ -s "$HOME/.fasdrc" ] && . "$HOME/.fasdrc"
# set default options
[ -z "$_FASD_DATA" ] && _FASD_DATA="$HOME/.fasd"
[ -z "$_FASD_BLACKLIST" ] && _FASD_BLACKLIST="--help"
[ -z "$_FASD_SHIFT" ] && _FASD_SHIFT="sudo busybox"
[ -z "$_FASD_IGNORE" ] && _FASD_IGNORE="fasd cd ls echo"
[ -z "$_FASD_SINK" ] && _FASD_SINK=/dev/null
[ -z "$_FASD_TRACK_PWD" ] && _FASD_TRACK_PWD=1
[ -z "$_FASD_MAX" ] && _FASD_MAX=2000
[ -z "$_FASD_BACKENDS" ] && _FASD_BACKENDS=native
if [ -z "$_FASD_AWK" ]; then
# awk preferences
local awk; for awk in mawk gawk original-awk nawk awk; do
$awk "" && _FASD_AWK=$awk && break
done
fi
} >> "${_FASD_SINK:-/dev/null}" 2>&1
;;
auto) cat <<EOS
{ if compctl; then # zsh
eval "\$(fasd --init posix-alias zsh-hook zsh-ccomp zsh-ccomp-install \
zsh-wcomp zsh-wcomp-install)"
elif complete; then # bash
eval "\$(fasd --init posix-alias bash-hook bash-ccomp bash-ccomp-install)"
else # posix shell
eval "\$(fasd --init posix-alias posix-hook)"
fi
} >> "$_FASD_SINK" 2>&1
EOS
;;
posix-alias) cat <<EOS
alias a='fasd -a'
alias s='fasd -si'
alias sd='fasd -sid'
alias sf='fasd -sif'
alias d='fasd -d'
alias f='fasd -f'
# function to execute built-in cd
fasd_cd() { [ \$# -gt 1 ] && cd "\$(fasd -e echo "\$@")" || fasd "\$@"; }
alias z='fasd_cd -d'
EOS
;;
zsh-hook) cat <<EOS
# add zsh hook
_fasd_preexec() {
{ eval "fasd --proc \$(fasd --sanitize \$3)"; } >> "$_FASD_SINK" 2>&1
}
autoload -U add-zsh-hook
add-zsh-hook preexec _fasd_preexec
EOS
;;
bash-hook) cat <<EOS
# add bash hook
echo \$PROMPT_COMMAND | grep -v -q "fasd --proc" && \
PROMPT_COMMAND='eval "fasd --proc \$(fasd --sanitize \$(history 1 | \
sed -e "s/^[ ]*[0-9]*[ ]*//"))" >> "$_FASD_SINK" 2>&1;'"\$PROMPT_COMMAND"
EOS
;;
posix-hook) cat <<EOS
_fasd_ps1_func() {
{ eval "fasd --proc \$(fasd --sanitize \
\$(fc -nl -0 | sed -n '\$s/\s*\(.*\)/\1/p'))"; } >> "$_FASD_SINK" 2>&1
}
echo "\$PS1" | grep -v -q "_fasd_ps1_func" && \
export PS1="\\\$(_fasd_ps1_func)\$PS1"
EOS
;;
zsh-ccomp) cat <<EOS
# zsh command mode completion
_fasd_zsh_cmd_complete() {
local compl
read -c compl
compstate[insert]=menu # no expand
reply=(\${(f)"\$(fasd --complete "\$compl")"})
}
EOS
;;
zsh-wcomp) cat <<EOS
# zsh word mode completion
_fasd_zsh_word_complete() {
[ "\$2" ] && local _fasd_cur="\$2"
[ -z "\$_fasd_cur" ] && local _fasd_cur="\${words[CURRENT]}"
local fnd="\${_fasd_cur//,/ }"
local typ=\${1:-e}
fasd --query \$typ \$fnd | sort -nr | sed 's/^[0-9.]*[ ]*//' | \
while read line; do
compadd -U -V fasd "\$line"
done
compstate[insert]=menu # no expand
}
_fasd_zsh_word_complete_f() { _fasd_zsh_word_complete f ; }
_fasd_zsh_word_complete_d() { _fasd_zsh_word_complete d ; }
_fasd_zsh_word_complete_trigger() {
local _fasd_cur="\${words[CURRENT]}"
eval \$(fasd --word-complete-trigger _fasd_zsh_word_complete \$_fasd_cur)
}
# define zle widgets
zle -C fasd-complete 'menu-select' _fasd_zsh_word_complete
zle -C fasd-complete-f 'menu-select' _fasd_zsh_word_complete_f
zle -C fasd-complete-d 'menu-select' _fasd_zsh_word_complete_d
EOS
;;
zsh-ccomp-install) cat <<EOS
# enbale command mode completion
compctl -U -K _fasd_zsh_cmd_complete -V fasd -x 'C[-1,-*e],s[-]n[1,e]' -c - \
'c[-1,-A][-1,-D]' -f -- fasd fasd_cd
EOS
;;
zsh-wcomp-install) cat <<EOS
# enable word mode completion
zstyle ':completion:*' completer _complete _ignored \
_fasd_zsh_word_complete_trigger
EOS
;;
bash-ccomp) cat <<EOS
# bash command mode completion
_fasd_bash_cmd_complete() {
# complete command after "-e"
local cur=\${COMP_WORDS[COMP_CWORD]}
[[ \${COMP_WORDS[COMP_CWORD-1]} == -*e ]] && \
COMPREPLY=( \$(compgen -A command \$cur) ) && return
# complete using default readline complete after "-A" or "-D"
case \${COMP_WORDS[COMP_CWORD-1]} in
-A|-D) COMPREPLY=( \$(compgen -o default \$cur) ) && return
esac
# get completion results using expanded aliases
local RESULT=\$( fasd -q --complete "\$(alias -p \$COMP_WORDS \
2>> "$_FASD_SINK" | sed -n "\\\$s/^.*'\(.*\)'/\1/p") \${COMP_LINE#* }" )
IFS=\$'\n' COMPREPLY=( \$RESULT )
}
_fasd_bash_hook_cmd_complete() {
for cmd in \$*; do
complete -F _fasd_bash_cmd_complete \$cmd
done
}
EOS
;;
bash-wcomp) cat <<EOS
# bash word mode completion
_fasd_bash_word_complete() {
[ "\$2" ] && local _fasd_cur="\$2"
[ "\$_fasd_cur" ] || local _fasd_cur="\${COMP_WORDS[COMP_CWORD]}"
local typ=\${1:-e}
local fnd="\${_fasd_cur//,/ }"
local RESULT=\$(fasd -q --query \$typ \$fnd | sed 's/^[0-9.]*[ ]*//')
IFS=\$'\n' COMPREPLY=( \$RESULT )
} >> "$_FASD_SINK" 2>&1
_fasd_bash_word_complete_trigger() {
[ "\$_fasd_cur" ] || local _fasd_cur="\${COMP_WORDS[COMP_CWORD]}"
eval "\$(fasd --word-complete-trigger _fasd_bash_word_complete \$_fasd_cur)"
} >> "$_FASD_SINK" 2>&1
_fasd_bash_word_complete_wrap() {
local _fasd_cur="\${COMP_WORDS[COMP_CWORD]}"
_fasd_bash_word_complete_trigger
local z=\${COMP_WORDS[0]}
# try original comp func
[ "\$COMPREPLY" ] || eval "\$( echo "\$_FASD_BASH_COMPLETE_P" | \
sed -n "/ \$z\$/"'s/.*-F \(.*\) .*/\1/p' )"
# fall back on original complete options
local cmd="\$(echo "\$_FASD_BASH_COMPLETE_P" | \
sed -n "/ \$z\$/"'s/complete/compgen/') \$_fasd_cur"
[ "\$COMPREPLY" ] || COMPREPLY=( \$(eval \$cmd) )
} >> "$_FASD_SINK" 2>&1
EOS
;;
bash-ccomp-install) cat <<EOS
# enable bash command mode completion
_fasd_bash_hook_cmd_complete fasd a s d f sd sf z
EOS
;;
bash-wcomp-install) cat <<EOS
_FASD_BASH_COMPLETE_P="\$(complete -p)"
for cmd in \$(complete -p | awk '{print \$NF}' | tr '\n' ' '); do
complete -o default -o bashdefault -F _fasd_bash_word_complete_wrap \$cmd
done
# enable word mode completion as default completion
complete -o default -o bashdefault -D -F _fasd_bash_word_complete_trigger \
>> "$_FASD_SINK" 2>&1
EOS
;;
esac; shift
done
;;
--init-alias)
fasd --init posix-alias
;;
--init-zsh)
fasd --init zsh-hook zsh-ccomp zsh-ccomp-install zsh-wcomp zsh-wcomp-install
;;
--init-bash)
fasd --init bash-hook bash-ccomp bash-ccomp-install
;;
--init-posix)
fasd --init posix-hook
;;
# if "$_fasd_cur" is a query, then eval all the arguments
--word-complete-trigger)
shift; [ "$2" ] && local _fasd_cur="$2" || return
case "$_fasd_cur" in
,*) echo "$1" e "$_fasd_cur";;
f,*) echo "$1" f "${_fasd_cur#?}";;
d,*) echo "$1" d "${_fasd_cur#?}";;
*,,) echo "$1" e "$_fasd_cur";;
*,,f) echo "$1" f "${_fasd_cur%?}";;
*,,d) echo "$1" d "${_fasd_cur%?}";;
esac
;;
--sanitize)
shift; echo "$@" | \
sed 's/\([^\]\)$([^ ]*\([^)]*\)))*/\1\2/g;s/\([^\]\)[|&;<>$`]\{1,\}/\1 /g'
;;
--proc) shift # process commands
# stop if we don't own ~/.fasd (we're another user but our ENV is still set)
[ -f "$_FASD_DATA" -a ! -O "$_FASD_DATA" ] && return
# make zsh do word splitting for the for loop to work
[ "$ZSH_VERSION" ] && emulate sh && setopt localoptions
# blacklists
local each; for each in $_FASD_BLACKLIST; do
case " $* " in *\ $each\ *) return;; esac
done
# shifts
while true; do
case " $_FASD_SHIFT " in
*\ $1\ *) shift;;
*) break
esac
done
# ignores
case " $_FASD_IGNORE " in
*\ $1\ *) return
esac
shift; fasd --add "$@" # add all arguments except command
;;
--add|-A) shift # add entries
# find all valid path arguments, convert them to simplest absolute form
local paths="$(while [ "$1" ]; do
[ -e "$1" ] && echo "$1"; shift
done | sed '/^[^/]/s@^@'"$PWD"'/@
s@/\.\.$@/\.\./@;s@/\(\./\)\{1,\}@/@g;: 0;s@[^/][^/]*//*\.\./@/@;t 0
s@^/*\.\./@/@;s@//*@/@g;s@/\.\{0,1\}$@@;s@^$@/@' | tr '\n' '|')"
# add current pwd if the option is set
[ "$_FASD_TRACK_PWD" = "1" -a "$PWD" != "$HOME" ] && paths="$paths|$PWD"
[ -z "${paths##\|}" ] && return # stop if we have nothing to add
# maintain the file
local tempfile
tempfile="$(mktemp "$_FASD_DATA".XXXXXX)" || return
$_FASD_AWK -v list="$paths" -v now="$(date +%s)" -v max="$_FASD_MAX" -F"|" '
BEGIN {
split(list, files, "|")
for(i in files) {
path = files[i]
if(path == "") continue
paths[path] = path # array for checking
rank[path] = 1
time[path] = now
}
}
$2 >= 1 {
if($1 in paths) {
rank[$1] = $2 + 1
time[$1] = now
} else {
rank[$1] = $2
time[$1] = $3
}
count += $2
}
END {
if(count > max)
for(i in rank) print i "|" 0.9*rank[i] "|" time[i] # aging
else
for(i in rank) print i "|" rank[i] "|" time[i]
}' "$_FASD_DATA" 2>> "$_FASD_SINK" >| "$tempfile"
if [ $? -ne 0 -a -f "$_FASD_DATA" ]; then
env rm -f "$tempfile"
else
env mv -f "$tempfile" "$_FASD_DATA"
fi
;;
--delete|-D) shift # delete entries
# turn valid arguments into entry-deleting sed commands
local sed_cmd="$(while [ "$1" ]; do echo "$1"; shift; done | \
sed '/^[^/]/s@^@'"$PWD"'/@;s@/\.\.$@/\.\./@;s@/\(\./\)\{1,\}@/@g
: 0;s@[^/][^/]*//*\.\./@/@;t 0;s@^/*\.\./@/@;s@//*@/@g;s@/\.\{0,1\}$@@
s@^$@/@;s@\([.[/*^$]\)@\\\1@g;s@^\(.*\)$@/^\1|/d@')"
# maintain the file
local tempfile
tempfile="$(mktemp "$_FASD_DATA".XXXXXX)" || return
sed -e "$sed_cmd" "$_FASD_DATA" 2>> "$_FASD_SINK" >| "$tempfile"
if [ $? -ne 0 -a -f "$_FASD_DATA" ]; then
env rm -f "$tempfile"
else
env mv -f "$tempfile" "$_FASD_DATA"
fi
;;
--query) shift # query the db, --query [$typ ["$fnd" [$mode [$quote]]]]
[ -f "$_FASD_DATA" ] || return # no db yet
[ "$1" ] && local typ="$1"
[ "$2" ] && local fnd="$2"
[ "$3" ] && local mode="$3"
[ "$4" ] && local quote="$4"
[ "$quote" ] && local qts='"\""' || local qts=
# make zsh do word spliting for the for loop to work
[ "$ZSH_VERSION" ] && emulate sh && setopt localoptions
# cat all backends
local each _fasd_data; for each in $_FASD_BACKENDS; do
_fasd_data="$_fasd_data
$(fasd --backend $each)"
done
[ "$_fasd_data" ] || _fasd_data="$(cat "$_FASD_DATA")"
# set mode specific code for calculating the prior
case $mode in
rank) local prior='times[i]';;
recent) local prior='sqrt(100000/(1+t-la[i]))';;
*) local prior='times[i] * frecent(la[i])';;
esac
# query the database
echo "$_fasd_data" | while read line; do
[ -${typ:-e} "${line%%\|*}" ] && echo "$line"
done | $_FASD_AWK -v t="$(date +%s)" -v q="$fnd" -F"|" '
function frecent(time) {
dx = t-time
if( dx < 3600 ) return 6
if( dx < 86400 ) return 4
if( dx < 604800 ) return 2
return 1
}
function likelihood(pattern, path) {
m = gsub("/+", "/", path)
r = 1
for(i in pattern) {
tmp = path
gsub(".*" pattern[i], "", tmp)
n = gsub("/+", "/", tmp)
if(n == m)
return 0
else if(n == 0)
r *= 20 # F
else
r *= 1 - (n / m)
}
return r
}
BEGIN {
split(q, pattern, " ")
for(i in pattern) pattern_lower[i] = tolower(pattern[i]) # nocase
}
{
if(!wcase[$1]) {
times[$1] = $2
la[$1] = $3
wcase[$1] = likelihood(pattern, $1)
if(!cx) nocase[$1] = likelihood(pattern_lower, tolower($1))
} else {
times[$1] += $2
if($3 > la[$1]) la[$1] = $3
}
cx = cx || wcase[$1]
ncx = ncx || nocase[$1]
}
END {
if(cx) {
for(i in wcase) {
if(wcase[i])
printf "%-10s %s\n", '"$prior"' * wcase[i], '"$qts"' i '"$qts"'
}
} else if(ncx) {
for(i in nocase) {
if(nocase[i])
printf "%-10s %s\n", '"$prior"' * nocase[i], '"$qts"' i '"$qts"'
}
}
}' - 2>> "$_FASD_SINK"
;;
--backend)
case $2 in
native) cat "$_FASD_DATA";;
viminfo)
local t="$(date +%s)"
< "$HOME/.viminfo" sed -n '/^>/{s@~@'"$HOME"'@;p}' | \
while IFS=" " read line; do
t=$((t-60)); echo "${line#??}|1|$t"
done
;;
recently-used)
tr -d '\n' < "$HOME/.local/share/recently-used.xbel" | \
sed 's@file:/@\n@g;s@count="@\n@g' | sed '1d;s/".*$//' | \
tr '\n' '|' | sed 's@|/@\n@g' | $_FASD_AWK -F'|' '{
sum = 0
for( i=2; i<=NF; i++ ) sum += $i
print $1 "|" sum
}'
;;
*) eval "$2";;
esac
;;
*) # parsing logic and processing
local fnd last _FASD_BACKENDS="$_FASD_BACKENDS" _fasd_data
while [ "$1" ]; do case "$1" in
--complete) [ "$2" = "--" ] && shift; set -- $(echo $2); local lst=1 r=r;;
--query|--add|--delete|-A|-D) fasd "$@"; return $?;;
--version) echo "0.5.4"; return 0;;
--) while [ "$2" ]; do shift; fnd="$fnd$1 "; last="$1"; done;;
-*) local o="${1#-}"; while [ "$o" ]; do case "$o" in
s*) local show=1;;
l*) local lst=1;;
i*) local interactive=1 show=1;;
r*) local mode=rank;;
t*) local mode=recent;;
e*) o="${o#?}"; if [ "$o" ]; then # there are characters after "-e"
local exec="$o" # anything after "-e"
else # use the next argument
local exec="${2:?"-e: Argument needed "}"
shift
fi; break;;
b*) o="${o#?}"; if [ "$o" ]; then
_FASD_BACKENDS="$o"
else
_FASD_BACKENDS="${2:?"-b: Argument needed"}"
shift
fi; break;;
B*) o="${o#?}"; if [ "$o" ]; then
_FASD_BACKENDS="$_FASD_BACKENDS $o"
else
_FASD_BACKENDS="$_FASD_BACKENDS ${2:?"-B: Argument needed"}"
shift
fi; break;;
a*) local typ=e;;
d*) local typ=d;;
f*) local typ=f;;
q*) local quote=1;;
h*) echo "fasd [options] [query ...]
[f|a|s|d|z] [opions] [query ...]
options:
-s show list of files with their ranks
-l list paths only
-i interactive mode
-e <cmd> set command to execute on the result file
-b <name> only use <name> backend
-b <name> add additional backend <name>
-a match files and directories
-d match directories only
-f match files only
-r match by rank only
-t match by recent access only
-h show a brief help message
fasd [-A|-D] [paths ...]
-A add paths
-D delete paths" >&2; return;;
esac; o="${o#?}"; done;;
*) fnd="$fnd $1"; last="$1";;
esac; shift; done
# if we hit enter on a completion just execute
case "$last" in
# completions will always start with /
/*) [ -z "$show$lst" -a -${typ:-e} "$last" -a "$exec" ] \
&& eval $exec "\"$last\"" && return;;
esac
local result
result="$(fasd --query 2>> "$_FASD_SINK")" # query the database
[ $? -gt 0 ] && return
if [ "$interactive" ] || [ "$exec" -a -z "$fnd$lst$show" -a -t 1 ]; then
result="$(echo "$result" | sort -nr)"
echo "$result" | sed = | sed 'N;s/\n/ /' | sort -nr >&2; printf "> " >&2
local i; read i; [ 0 -lt "${i:-0}" ] 2>> "$_FASD_SINK" || return 1
result="$(echo "$result" | sed -n "${i:-1}"'s/^[0-9.]*[ ]*//p')"
if [ "$result" ]; then
fasd --add "$result"; eval ${exec:-echo} "\"$result\""
fi
elif [ "$lst" ]; then
echo "$result" | sort -n${r} | sed 's/^[0-9.]*[ ]*//'
elif [ "$show" ]; then
echo "$result" | sort -n
elif [ "$fnd" -a "$exec" ]; then # exec
result="$(echo "$result" | sort -n | sed -n '$s/^[0-9.]*[ ]*//p')"
fasd --add "$result"; eval $exec "\"$result\""
elif [ "$fnd" -a ! -t 1 ]; then # echo if output is not terminal
result="$(echo "$result" | sort -n | sed -n '$s/^[0-9.]*[ ]*//p')"
fasd --add "$result"; echo "$result"
else # no args, show
echo "$result" | sort -n
fi
esac
}
fasd --init env
case $- in
*i*) ;; # assume being sourced, do nothing
*) # assume being executed as an executable
if [ -x "$_FASD_SHELL" -a -z "$_FASD_SET" ]; then
_FASD_SET=1 exec $_FASD_SHELL "$0" "$@"
else
fasd "$@"
fi
esac

Binary file not shown.

BIN
fonts/Menlo-Powerline.otf Normal file

Binary file not shown.

BIN
fonts/mensch-Powerline.otf Normal file

Binary file not shown.

View File

@@ -39,8 +39,7 @@
last = diff HEAD^ # diff last committed change last = diff HEAD^ # diff last committed change
# log # log
log = log --decorate --graph --date=short l = log --graph --date=short
l = log
changes = log --pretty=format:\"%h %cr %cn %Cgreen%s%Creset\" --name-status changes = log --pretty=format:\"%h %cr %cn %Cgreen%s%Creset\" --name-status
short = log --pretty=format:\"%h %cr %cn %Cgreen%s%Creset\" short = log --pretty=format:\"%h %cr %cn %Cgreen%s%Creset\"
changelog = log --pretty=format:\" * %s\" changelog = log --pretty=format:\" * %s\"

View File

@@ -0,0 +1,7 @@
map W <Plug>CamelCaseMotion_w
map B <Plug>CamelCaseMotion_b
map E <Plug>CamelCaseMotion_e
sunmap W
sunmap B
sunmap E

View File

@@ -1 +0,0 @@
let g:jslint_highlight_color=""

View File

@@ -0,0 +1,3 @@
let g:Powerline_symbols='fancy'
let g:Powerline_theme='skwp'
let g:Powerline_colorscheme='skwp'

View File

@@ -1,8 +1,8 @@
"mark syntax errors with :signs "mark syntax errors with :signs
let g:syntastic_enable_signs=1 let g:syntastic_enable_signs=1
"automatically jump to the error when saving the file "automatically jump to the error when saving the file
let g:syntastic_auto_jump=1 let g:syntastic_auto_jump=0
"show the error list automatically "show the error list automatically
let g:syntastic_auto_loc_list=1 let g:syntastic_auto_loc_list=1
"don't care about warnings "don't care about warnings
let g:syntastic_quiet_warnings=1 let g:syntastic_quiet_warnings=0

View File

@@ -1,3 +1,6 @@
" Arpeggio lets us define key-chord combos (simultaneous key presses)
call arpeggio#load()
" ======================================== " ========================================
" General vim sanity improvements " General vim sanity improvements
" ======================================== " ========================================
@@ -35,6 +38,11 @@ imap <silent> <D-d> _
imap <silent> <D-K> - imap <silent> <D-K> -
imap <silent> <D-D> - imap <silent> <D-D> -
" Use the two first fingers on both sides of the keyboard
" simultaneously to go to the beginning or end of line
Arpeggio nnoremap jk $
Arpeggio nnoremap fd 0
" Change inside quotes with Cmd-" and Cmd-' " Change inside quotes with Cmd-" and Cmd-'
nnoremap <D-'> ci' nnoremap <D-'> ci'
nnoremap <D-"> ci" nnoremap <D-"> ci"
@@ -42,9 +50,6 @@ nnoremap <D-"> ci"
" Add spaces around a symbol with Ctrl-Space " Add spaces around a symbol with Ctrl-Space
nnoremap <C-Space> i <esc><right>a <esc> nnoremap <C-Space> i <esc><right>a <esc>
" Don't have to use Shift to get into command mode, just hit semicolon
nnoremap ; :
"Go to last edit location with ,. "Go to last edit location with ,.
nnoremap ,. '. nnoremap ,. '.
@@ -57,11 +62,6 @@ nnoremap ,. '.
" put the cursor right after the quote " put the cursor right after the quote
imap <C-a> <esc>wa imap <C-a> <esc>wa
" ================== rails.vim
"
" Open corresponding unittest (or spec), alias for :AV in rails.vim
nmap ,ru :AV<CR>
" ==== NERD tree " ==== NERD tree
" Cmd-Shift-N for nerd tree " Cmd-Shift-N for nerd tree
nmap <D-N> :NERDTreeToggle<CR> nmap <D-N> :NERDTreeToggle<CR>
@@ -71,13 +71,14 @@ nmap <D-N> :NERDTreeToggle<CR>
nmap <silent> ,qc :cclose<CR> nmap <silent> ,qc :cclose<CR>
nmap <silent> ,qo :copen<CR> nmap <silent> ,qo :copen<CR>
" move up/down quickly by using Ctrl-j, Ctrl-k " move up/down quickly by using Cmd-j, Cmd-k
" which will move us around by functions " which will move us around by functions
nnoremap <silent> <C-j> } nnoremap <silent> <D-j> }
nnoremap <silent> <C-k> { nnoremap <silent> <D-k> {
autocmd FileType ruby map <buffer> <D-j> ]m
autocmd FileType ruby map <buffer> <C-j> ]m autocmd FileType ruby map <buffer> <D-k> [m
autocmd FileType ruby map <buffer> <C-k> [m autocmd FileType rspec map <buffer> <D-j> }
autocmd FileType rspec map <buffer> <D-k> {
" Open the project tree and expose current file in the nerdtree with Ctrl-\ " Open the project tree and expose current file in the nerdtree with Ctrl-\
nnoremap <silent> <C-\> :NERDTreeFind<CR> nnoremap <silent> <C-\> :NERDTreeFind<CR>
@@ -97,6 +98,9 @@ nnoremap <silent> ,f <C-]>
" use ,F to jump to tag in a vertical split " use ,F to jump to tag in a vertical split
nnoremap <silent> ,F :let word=expand("<cword>")<CR>:vsp<CR>:wincmd w<cr>:exec("tag ". word)<cr> nnoremap <silent> ,F :let word=expand("<cword>")<CR>:vsp<CR>:wincmd w<cr>:exec("tag ". word)<cr>
" use ,gf to go to file in a vertical split
nnoremap <silent> ,gf :vertical botright wincmd f<CR>
"Move back and forth through previous and next buffers "Move back and forth through previous and next buffers
"with ,z and ,x "with ,z and ,x
@@ -109,14 +113,10 @@ nnoremap <silent> ,x :bn<CR>
" Move between split windows by using the four directions H, L, I, N " Move between split windows by using the four directions H, L, I, N
" (note that I use I and N instead of J and K because J already does " (note that I use I and N instead of J and K because J already does
" line joins and K is mapped to GitGrep the current word " line joins and K is mapped to GitGrep the current word
nnoremap <silent> H <C-w>h nnoremap <silent> <C-h> <C-w>h
nnoremap <silent> L <C-w>l nnoremap <silent> <C-l> <C-w>l
nnoremap <silent> I <C-w>k nnoremap <silent> <C-k> <C-w>k
nnoremap <silent> M <C-w>j nnoremap <silent> <C-j> <C-w>j
" Move between tabs with Ctrl-Shift-H and Ctrl-Shift-L
map <silent> <C-H> :tabprevious<cr>
map <silent> <C-L> :tabnext<cr>
" Zoom in and out of current window with ,, " Zoom in and out of current window with ,,
map <silent> ,gz <C-w>o map <silent> ,gz <C-w>o
@@ -138,8 +138,9 @@ map <silent> <D-9> :tabn 9<cr>
nnoremap <silent> vv <C-w>v nnoremap <silent> vv <C-w>v
nnoremap <silent> ss <C-w>s nnoremap <silent> ss <C-w>s
"open the taglist (method browser) using ,t " Resize vertical windows by hitting plus and minus
nnoremap <silent> ,T :TlistToggle<CR> nnoremap <silent> + <C-w>+
nnoremap <silent> - <C-w>-
" create <%= foo %> erb tags using Ctrl-k in edit mode " create <%= foo %> erb tags using Ctrl-k in edit mode
imap <silent> <C-K> <%= %><Esc>3hi imap <silent> <C-K> <%= %><Esc>3hi
@@ -162,7 +163,7 @@ nmap <silent> // :nohlsearch<CR>
" the line we're looking at (it does so by yy-copy, colon " the line we're looking at (it does so by yy-copy, colon
" to get to the command mode, C-f to get to history editing " to get to the command mode, C-f to get to history editing
" p to paste it, C-c to return to command mode, and CR to execute " p to paste it, C-c to return to command mode, and CR to execute
nmap <silent> ,cc yy:<C-f>p<C-c><CR> nmap <silent> ,vc yy:<C-f>p<C-c><CR>
" Type ,hl to toggle highlighting on/off, and show current value. " Type ,hl to toggle highlighting on/off, and show current value.
noremap ,hl :set hlsearch! hlsearch?<CR> noremap ,hl :set hlsearch! hlsearch?<CR>
@@ -209,9 +210,9 @@ nmap ,Bc :ClearBookmarks<cr>
abbr pry! require 'pry'; binding.pry abbr pry! require 'pry'; binding.pry
" ============================ " ============================
" vim-rspec " vim-ruby-conque
" ============================ " ============================
" Cmd-Shift-R for RSpec " Cmd-Shift-R for RSpec
nmap <D-R> :RunSpec<CR> nmap <silent> <D-R> :call RunRspecCurrentFileConque()<CR>
" Cmd-Shift-L for RSpec Current Line " Cmd-Shift-L for RSpec Current Line
nmap <D-L> :RunSpecLine<CR> nmap <silent> <D-L> :call RunRspecCurrentLineConque()<CR>

Submodule vim/snippets deleted from 15cb6bf4fa

14
vimrc
View File

@@ -24,7 +24,7 @@ set history=1000 "Store lots of :cmdline history
set showcmd "Show incomplete cmds down the bottom set showcmd "Show incomplete cmds down the bottom
set showmode "Show current mode down the bottom set showmode "Show current mode down the bottom
set gcr=a:blinkon0 "Disable cursor blink set gcr=a:blinkon0 "Disable cursor blink
set visualbell "No sounds
set autoread "Reload files changed outside vim set autoread "Reload files changed outside vim
" This makes vim act like all other editors, buffers can " This makes vim act like all other editors, buffers can
@@ -85,6 +85,14 @@ set wildmode=list:longest
set wildmenu "enable ctrl-n and ctrl-p to scroll thru matches set wildmenu "enable ctrl-n and ctrl-p to scroll thru matches
set wildignore=*.o,*.obj,*~ "stuff to ignore when tab completing set wildignore=*.o,*.obj,*~ "stuff to ignore when tab completing
set wildignore+=*vim/backups* set wildignore+=*vim/backups*
set wildignore+=*sass-cache*
set wildignore+=*DS_Store*
set wildignore+=*vendor/rails/**
set wildignore+=*vendor/cache/**
set wildignore+=*.gem
set wildignore+=*log/**
set wildignore+=*tmp/**
set wildignore+=*.png,*.jpg,*.gif
" "
@@ -97,3 +105,7 @@ set sidescroll=1
for f in split(glob('~/.vim/plugin/settings/*.vim'), '\n') for f in split(glob('~/.vim/plugin/settings/*.vim'), '\n')
exe 'source' f exe 'source' f
endfor endfor
if filereadable(expand("~/.vimrc.after"))
source ~/.vimrc.after
endif

10
zsh/color-man-pages.zsh Normal file
View File

@@ -0,0 +1,10 @@
# Less Colors for Man Pages
# http://linuxtidbits.wordpress.com/2009/03/23/less-colors-for-man-pages/
export LESS_TERMCAP_mb=$'\E[01;31m' # begin blinking
export LESS_TERMCAP_md=$'\E[01;38;5;74m' # begin bold
export LESS_TERMCAP_me=$'\E[0m' # end mode
export LESS_TERMCAP_se=$'\E[0m' # end standout-mode
export LESS_TERMCAP_so=$'\E[38;33;246m' # begin standout-mode - info box
export LESS_TERMCAP_ue=$'\E[0m' # end underline
export LESS_TERMCAP_us=$'\E[04;38;5;146m' # begin underline

13
zsh/fasd.zsh Normal file
View File

@@ -0,0 +1,13 @@
# Initialize fasd (https://github.com/clvv/fasd)
eval "$(fasd --init posix-alias zsh-hook)"
# aliases
# jump to recently used items
alias a='fasd -a' # any
alias s='fasd -s' # show / search / select
alias d='fasd -d' # directory
alias f='fasd -f' # file
alias z='fasd_cd -d' # cd, same functionality as j in autojump
alias v='f -e vim' # quick opening files with vim

6
zsh/git.zsh Normal file
View File

@@ -0,0 +1,6 @@
# Speed up git completion
# http://talkings.org/post/5236392664/zsh-and-slow-git-completion
__git_files () {
_wanted files expl 'local files' _files
}

3
zsh/path.zsh Normal file
View File

@@ -0,0 +1,3 @@
# path
export PATH=/usr/local/bin:$PATH

View File

@@ -15,3 +15,4 @@ alias -g G='| grep' # now you can do: ls foo G something
# usage: fn foo # usage: fn foo
# to find all files containing 'foo' in the name # to find all files containing 'foo' in the name
function fn() { ls **/*$1* } function fn() { ls **/*$1* }

View File

@@ -17,8 +17,9 @@ if [[ -d $HOME/.oh-my-zsh ]]; then
# Set name of the theme to load. # Set name of the theme to load.
ZSH_THEME="robbyrussell" ZSH_THEME="robbyrussell"
# Default plugins. # Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
plugins=(git ruby) # Example format: plugins=(rails git textmate ruby lighthouse)
plugins=(vi-mode git rvm ruby rails autojump bundler gem gnu-utils heroku rake redis-cli zsh-syntax-highlighting history-substring-search)
# source every zsh file in user's custom/zsh/before. This is useful for setting theme and plugins. # source every zsh file in user's custom/zsh/before. This is useful for setting theme and plugins.
if [[ -d $yadr/custom/zsh/ ]]; then if [[ -d $yadr/custom/zsh/ ]]; then
@@ -63,10 +64,3 @@ if [[ -a ~/.secrets ]] then
source ~/.secrets source ~/.secrets
fi fi
# Speed up git completion
# http://talkings.org/post/5236392664/zsh-and-slow-git-completion
__git_files () {
_wanted files expl 'local files' _files
}
export PATH=/usr/local/bin:$PATH

4
zsh/zvm.zsh Normal file
View File

@@ -0,0 +1,4 @@
# Use zmv, which is amazing
autoload -U zmv
alias zmv="noglob zmv -W"