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, Gist, 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.
Fugitive provides:
-
Super-duper git functionality.
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
- :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
-
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
- :TlistOpen
-
Opens the tag list window
- :TlistToggle
-
Toggle the tag list window
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
- cs
- ys
- s
- ,cc
- ,c
- ,ci
- ,cs
- ,cA
- ,cl
- ,cb
- ,cu
- :Gist
- :‘<,’>Gist
- :Gist -p
- :Gist -a
- :Gist -e
- :Gist -e foo.js
- :Gist XXXXX
- :Gist -c XXXXX
- :Gist -l
- :Gist -la
- ,rp
- ,rt
- ,rf
- ,d
- ,t
- ,b
- ,l
- ,gd
-
:GitDiff
- ,gD
-
:GitDiff –cached
- ,gs
-
:GitStatus
- ,gl
-
:GitLog
- ,ga
-
:GitAdd
- ,gA
-
:GitAdd <cfile>
- ,gc
-
:GitCommit
- ,ws
-
Remove trailing whitespace
- <Enter>
-
:GitAdd <cfile>
You can use the rake ‘install’ task to install this in your home directory.
This will also work on Windows. A few notes.
Windows default vimrc location is C:Usersusername_vimrc. User home directory doesn’t have plugins, syntax, etc, use C:Program FilesVimvim72. PowerShell works for sure. cmd.exe might not. May need to start PowerShell/CMD as Administrator to get it to install.
People who have worked on this Vim configuration are:
Joshua Timberman github.com/jtimberman/dotvim Email: joshua@opscode.com
AJ Christensen github.com/fujin/dotvim Email: aj@opscode.com
Adam Jacob github.com/adamhjk/adam-vim/ Email: adam@opscode.com
Original: Bram Moolenaar <Bram@vim.org> Last change: 2002 Sep 19