wesmaldonado / adam-vim forked from adamhjk/adam-vim

My vim directory

This URL has Read+Write access

name age message
file .gitignore Wed Apr 22 14:25:41 -0700 2009 Initial commit [adamhjk]
file README.rdoc Thu Jul 30 11:25:12 -0700 2009 Updating docs, adding gist.vim [adamhjk]
directory autoload/ Wed Apr 22 14:25:41 -0700 2009 Initial commit [adamhjk]
directory colors/ Wed Apr 22 14:25:41 -0700 2009 Initial commit [adamhjk]
directory compiler/ Wed Apr 22 14:25:41 -0700 2009 Initial commit [adamhjk]
directory doc/ Tue Jul 28 23:22:21 -0700 2009 Adding surround, NERD_commenter and taglist [adamhjk]
directory ftdetect/ Fri May 22 13:59:41 -0700 2009 A few config tweaks, adding ack support [adamhjk]
directory ftplugin/ Wed Apr 22 14:25:41 -0700 2009 Initial commit [adamhjk]
directory indent/ Wed Apr 22 14:25:41 -0700 2009 Initial commit [adamhjk]
directory plugin/ Thu Jul 30 11:25:12 -0700 2009 Updating docs, adding gist.vim [adamhjk]
directory syntax/ Tue Jul 28 15:53:12 -0700 2009 Adding git-vim [adamhjk]
file vimrc Mon Aug 17 21:10:13 -0700 2009 Adding different font support on gtk [adamhjk]
README.rdoc

Adam’s vimrc

This is the contents of my .vim directory. It includes my vimrc, which you should symlink to ~/.vimrc in order to get the goodness.

It includes several plugins: Git-vim, NERDtree, FuzzyFinder, FuzzyFinderTextmate, lots of color schemes, updated ruby bindings, and more.

To use, copy this directory to ~/.vim and symlink ~/.vim/vimrc to ~/.vimrc.

Once you are running, in command mode:

Introduction

Git-vim provides:

  • Plugin files for calling git functions from inside Vim
  • Syntax files for git displays

NerdTree provides:

  • A TextMate style ‘project drawer’
  • A built in filesystem explorer

FuzzyFinder(Textmate) provides:

  • A TextMate style ‘cmd-t’ buffer switching interface
  • An ‘open buffers’ tab-esque interface

Ack provides:

  • Awesome code grepping

Taglist provides:

  • Easy source code browsing
  • Must have exuberant ctags installed
  • Set to auto-populate behind the scenes

Surround provides:

  • Setting or replacing text that surrounds lines

NERD_Commenter provides:

  • Super smart comment control

Gist provides:

  • Integrated gist support

Commands

Git

:GitAdd <file>
git-add <file> or current file if not specified.
:GitCommit <args>
git-commit.
:GitStatus
Show git-status of current file or repository.
:GitLog
Show git-log of current file or repository.
:GitCheckout <args>
git-checkout. Completes git commits.
:GitDiff <args>
git-diff. Completes git commits.
:GitPull <args>
git-pull.
:GitPullRebase
git-pull —rebase.
:GitPush <args>
git-push. Defaults to +git push origin <current-branch>+.
:GitCatFile <args>
git-cat-file.
:Git <args>
Does any git command.
:GitVimDiffMerge
Experimental. Call this command on unmerged file to enter vimdiff mode.
:GitVimDiffMergeDone
Call this command after merging.

Ack

:Ack
Takes options, a pattern, and a directory. Shows results in a quickbuffer.
:AckAdd
Like Ack + grepadd - adds to, rather than replaces, the quickbuffer.
:LAck
Ack + lgrep - opens in location-list
:LAckAdd
Appends to the location list

Tags

:TlistOpen
Opens the tag list window
:TlistToggle
Toggle the tag list window

Surround

Details follow on the exact semantics, but first, consider the following examples. An asterisk (*) is used to denote the cursor position.

  Old text                  Command     New text ~
  "Hello *world!"           ds"         Hello world!
  [123+4*56]/2              cs])        (123+456)/2
  "Look ma, I'm *HTML!"     cs"<q>      <q>Look ma, I'm HTML!</q>
  if *x>3 {                 ysW(        if ( x>3 ) {
  my $str = *whee!;         vlllls'     my $str = 'whee!';
ds
= Delete surrounding - use the character or a ‘t’ for tag (ds", dst)
cs
= Change surrounding - first what to change, then what to change to
ys
= Takes a motion and surrounds it with the second argument, like cs
s
= In visual mode, wraps the text with the character argument

NERD_commenter

,cc
= Comment the current line, or selected text in visual mode
,c
= Toggle the comment
,ci
= Toggles the set of lines individually (like "c ", but assumes each line may have different settings)
,cs
= Comment Sexily - up close to the start of each line
,cA
= Append a comment to the end of the line
,cl
= Comment and align on the left side
,cb
= Comment and align on both sides
,cu
= Uncomment the selected lines

Gist

:Gist
= post the whole text to gist
:’<,’>Gist
= post the selected text to gist
:Gist -p
= post wholet ext to gist with private
:Gist -a
= post the whole text to gist with anonymous
:Gist -e
= Edit the gist
:Gist -e foo.js
= Edit the gist with the name ‘foo.js’
:Gist XXXXX
= Get gist
:Gist -c XXXXX
= Get gist and put to clipboard
:Gist -l
= List my gists
:Gist -la
= List gists from all

Keymaps

,d
= Toggle NERDtree
,t
= FuzzyFinderTextmate
,b
= FuzzyBufferFinder
,l
= TListToggle
,gd
:GitDiff
,gD
:GitDiff —cached
,gs
:GitStatus
,gl
:GitLog
,ga
:GitAdd
,gA
:GitAdd <cfile>
,gc
:GitCommit

In git-status buffer

<Enter>
:GitAdd <cfile>