| CARVIEW |
- Source
- Commits
- Network (25)
- Issues (11)
- Graphs
-
Branch:
master
click here to add a description
click here to add a homepage
| name | age | message | |
|---|---|---|---|
| |
.gitignore | Mon Aug 16 01:39:18 -0700 2010 | ignore .VimballRecord [wuputah] |
| |
README.markdown | Mon Oct 18 09:46:44 -0700 2010 | Readme documentation. [benburkert] |
| |
Rakefile | Sun Oct 17 14:03:11 -0700 2010 | Add align plugin. [benburkert] |
| |
bootstrap.sh | Sun Oct 17 11:16:44 -0700 2010 | Add a bootstrap script. [benburkert] |
| |
gvimrc | Sat Aug 14 02:05:16 -0700 2010 | be consistent with README about calling it command [wuputah] |
| |
vimrc | Tue Aug 17 01:46:42 -0700 2010 | fix typo causing recursive function [tmm1] |
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.
Installation
for i in ~/.vim ~/.vimrc ~/.gvimrc; do [ -e $i ] && mv $i $i.old; donegit clone git://github.com/carlhuda/janus.git ~/.vimcd ~/.vimrake
or
curl https://github.com/carlhuda/janus/raw/master/bootstrap.sh -o - | sh
Updating to the latest version
To update to the latest version of the distribution, just run rake
again inside your ~/.vim directory.
Intro to VIM
Here's some tips if you've never used VIM before:
Tutorial
- Type
vimtutorinto a shell to go through a brief interactive tutorial inside VIM.
Modes
- VIM has two modes:
- insert mode- stuff you type is added to the buffer
- normal mode- keys you hit are interpretted as commands
- To enter insert mode, hit
i - To exit insert mode, hit
<ESC>
Useful commands
- Use
:qto exit vim - Certain commands are prefixed with a
<Leader>key, which maps to\by default. Uselet mapleader = ","to change this.
Features
This vim distribution includes a number of packages built by others.
Base Customizations
Janus ships with a number of basic customizations for vim:
- Line numbers
- Ruler (line and column numbers)
- No wrap (turn off per-buffer via set :wrap)
- Soft 2-space tabs, and default hard tabs to 2 spaces
- Show tailing whitespace as
. - Make searching highlighted, incremental, and case insensitive unless a capital letter is used
- Always show a status line
- Allow backspacing over everything (identations, eol, and start characters) in insert mode
-
<Leader>eexpands to:e {directory of current file}/(open in the current buffer) -
<Leader>trexpands to:te {directory of current file}/(open in a new MacVIM tab) -
<C-P>inserts the directory of the current file into a command - Automatic insertion of closing quotes, parenthesis, and braces
"Project Drawer" aka NERDTree
NERDTree is a file explorer plugin that provides "project drawer" functionality to your vim projects. You can learn more about it with :help NERDTree.
Customizations: Janus adds a number of customizations to the core NERDTree:
- Use
<Leader>nto toggle NERDTree - Ignore
*.rbcand*~files - Automatically activate NERDTree when MacVIM opens and make the original buffer the active one
- Provide alternative :e, :cd, :rm and :touch abbreviations which also refresh NERDTree when done (when NERDTree is open)
- When opening vim with vim /path, open the left NERDTree to that directory, set the vim pwd, and clear the right buffer
- Disallow
:eing files into the NERDTree buffer - In general, assume that there is a single NERDTree buffer on the left and one or more editing buffers on the right
Ack.vim
Ack.vim uses ack to search inside the current directory for a pattern. You can learn more about it with :help Ack
Customizations: Janus rebinds command-shift-f (<D-F>) to bring up
:Ack.
Align
Align lets you align statements on their equal signs, make comment boxes, align comments, align declarations, etc.
-
:5,10Align =>to align lines 5-10 on=>'s
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.
Customizations: Janus binds <Leader>rt to the ctags command to
update tags.
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.
Customizations: Janus binds <Leader>p to this plugin.
Additional Syntaxes
Janus ships with a few additional syntaxes:
- Markdown (bound to *.markdown, *.md, and *.mk)
- Mustache (bound to *.mustache)
- Haml (bound to *.haml)
- Sass (bound to *.sass)
- SCSS (bound to *.scss)
- An improved JavaScript syntax (bound to *.js)
- Map Gemfile, Rakefile and Thorfile to Ruby
- Git commits (set your
EDITORtomvim -f)
Color schemes
Janus includes the vim color sampler pack, which includes over 100 popular color themes:
- jellybeans
- matrix
- railscasts2
- tango
- vibrantink
- vividchalk
- wombat
- xoria256
Use :color vibrantink to switch to a color scheme.
Janus also has a few customized versions of popular themes:
- jellybeans+
- molokai
- railscasts+
To permanently set a color scheme, update your local vimrc files:
echo color desert > ~/.vimrc.local
echo color jellybeans+ > ~/.gvimrc.local
- © 2010 GitHub Inc. All rights reserved.
- Terms of Service
- Privacy
- Security
Keyboard Shortcuts
Site wide shortcuts
- s
- Focus site search
- ?
- Bring up this help dialog
Commit list
- j
- Move selected down
- k
- Move selected up
- t
- Open tree
- p
- Open parent
- c or o or enter
- Open commit
Pull request list
- j
- Move selected down
- k
- Move selected up
- o or enter
- Open issue
Issues
- j
- Move selected down
- k
- Move selected up
- x
- Toggle select target
- o or enter
- Open issue
- I
- Mark selected as read
- U
- Mark selected as unread
- e
- Close selected
- y
- Remove selected from view
- c
- Create issue
- l
- Create label
- i
- Back to inbox
- u
- Back to issues
- /
- Focus issues search
Network Graph
- ← or h
- Scroll left
- → or l
- Scroll right
- ↑ or k
- Scroll up
- ↓ or j
- Scroll down
- t
- Toggle visibility of head labels
- shift ← or shift h
- Scroll all the way left
- shift → or shift l
- Scroll all the way right
- shift ↑ or shift k
- Scroll all the way up
- shift ↓ or shift j
- Scroll all the way down