README.markdown

Janus: Carlhuda's vim Distribution

This is a basic distribution of vim plugins and tools intended to be run
on top of the latest MacVIM snapshot.

We (Carl and Yehuda) both use this distribution for our own use, and
welcome patches and contributions to help make it an effective way to
get started with vim and then use it productively for years to come.

At present, we are still learning to use vim ourselves, so you should
anticipate a period of rapid development while we get a handle on the
best tools for the job. So far, we have mostly integrated existing
plugins and tools, and we anticipate to continue doing so while also
writing our own plugins as appropriate.

In general, you can expect that the tools we use work well together and
that we have given careful thought to the experience of using MacVIM
with the tools in question. If you run into an issue using it, please
report an issue to the issue tracker.

Align

Command-T

Command-T provides a mechanism for searching for a file inside the
current working directory. It behaves similarly to command-t in
Textmate.

Customizations: Janus rebinds command-t (<D-t>) to bring up this
plugin. It defaults to <Leader>t.

ConqueTerm

ConqueTerm embeds a basic terminal inside a vim buffer. The terminal has
an insert mode in which you can type commands, tab complete and use the
terminal like normal. You can also escape out of insert mode to use
other vim commands on the buffer, like yank and paste.

Customizations: Janus binds command-e (<D-e>) to bring up
:ConqueTerm bash --login in the current buffer.

Note: To get colors working, you might have to export TERM=xterm
and use ls -G or gls --color

indent_object

Indent object creates a "text object" that is relative to the current
ident. Text objects work inside of visual mode, and with c (change),
d (delete) and y (yank). For instance, try going into a method in
normal mode, and type v ii. Then repeat ii.

Note: indent_object seems a bit busted. It would also be nice if
there was a text object for Ruby class and def blocks.

surround

Surround allows you to modify "surroundings" around the current text.
For instance, if the cursor was inside "foo bar", you could type
cs"' to convert the text to 'foo bar'.

There's a lot more; check it out at :help surround

NERDCommenter

NERDCommenter allows you to wrangle your code comments, regardless of
filetype. View help :NERDCommenter for all the details.

Customizations: Janus binds command-/ (<D-/>) to toggle comments.

SuperTab

In insert mode, start typing something and hit <TAB> to tab-complete
based on the current context.

ctags

Janus includes the TagList plugin, which binds :Tlist to an overview
panel that lists all ctags for easy navigation.

Note: For full language support, run brew install ctags to install
exuberant-ctags.

Tip: Check out :help ctags for information about VIM's built-in
ctag support. Tag navigation creates a stack which can traversed via
Ctrl-] (to find the source of a token) and Ctrl-T (to jump back up
one level).

Git Support (Fugitive)

Fugitive adds pervasive git support to git directories in vim. For more
information, use :help fugitive

Use :Gstatus to view git status and type - on any file to stage or
unstage it. Type p on a file to enter git add -p and stage specific
hunks in the file.

Use :Gdiff on an open file to see what changes have been made to that
file

ZoomWin

When working with split windows, ZoomWin lets you zoom into a window and
out again using Ctrl-W o

Customizations: Janus binds <Leader>z to :ZoomWin

Markdown Preview

Markdown preview takes the current buffer, converts the Markdown to
HTML, and opens it in your default browser.