vimate


Ⅰ. 插件描述

My personal .VIM directory and [g]vimrc

Ⅱ. 基本信息

创建日期:  2011-01-23
使用用户:  1
Github星:  5
插件作者:  Renault John Lecoultre

Ⅲ. 安装方法

使用Vundle管理器安装

在你的.vimrc下添加:
Plugin 'renajohn/vimate'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall

对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。

使用NeoBundle管理器安装

在你的.vimrc下添加:
NeoBundle 'renajohn/vimate'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall

使用VimPlug管理器安装

在你的.vimrc下添加:
Plug 'renajohn/vimate'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall

使用Pathogen管理器安装

在终端中运行以下命令:
cd ~/.vim/bundle
git clone https://github.com/renajohn/vimate

Ⅳ. 文档说明

Vimate

Vimate is a set of plug-ins and configuration file for vim. It is heavily based on the excellent
Janus. Vimate is targeted at C, C++, and HTML5 developers.
It comes with a descent numbers of plug-ins and file types.

How to install

mv ~/.vim ~/vim-old
git clone git://github.com/renajohn/vimate.git ~/.vim
cd ~/.vim
sh bootstrap.sh

[sudo] gem install github-markup
[sudo] gem install redcarpet # for markdown wiki notation

How to updates plug-ins

Vimate uses pathogen.vim to keep each plug-in separated in the ~/.vim/bundle/ directory.
In addition, vimate uses braid in order to treat plug-ins as vendor branch/sub-projects,
allowing you to keep all plug-ins up-to-date, independently from Vimate.

cd .vim
sh update.sh

NOTE: braid is not currently working with ruby 1.9, if you use rvm,
switch to ruby 1.8.+ before calling update.sh.

Configuration

UltiSnips all.snippets has the following custom snippets:

  • name<tab> -> Your Name
  • @<tab> -> your.email@domain.com
  • sgn<tab> -> Your Name <your.email@domain.com>

To specify your name and email address, you need to add the following lines in you ~/.profile

export EMAIL=my.email@domain.com
export NAME="John Doe"

You can create ~/.vimrc.local and ~/.gvimrc.local for any local
customizations.

For example, to override the default color schemes:

echo color desert  > ~/.vimrc.local
echo color molokai > ~/.gvimrc.local

Solarized color scheme

The default color scheme is
Solarized, a highly professional
color scheme which comes in dark or light background.
You can use F8 to toggle from dark to light theme.

Solarized in terminal

Solarized colorscheme needs some special colors that the terminal does
not provide. To have a sweat experience you can change the default
palette of your terminal emulator or decide to use the 256 degraded
colors in vim.

Instructions are in Solarized README

Plug-ins

Ack.vim

Ack.vim uses ack to search inside the current directory for a pattern.
You can learn more about it with :help Ack

Tabularized

Tabularized lets you align statements on their equal signs, make comment
boxes, align comments, align declarations, etc.

  • :Tab /= to align on ='s
  • Tabularized on = and : are mapped on <Leader>a= and <Leader>a:
    respectively

When working on table like the following:

    
| a | b |
| c | d |

Tabularized will align the table each time | is typed.

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: Vimate rebinds F3 to bring up this
plug-in. 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: Vimate binds F6 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

  1. 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.

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

  1. View :help NERDCommenter for all the details.

SuperTab

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

ctags

Vimate includes the TagList plug-in, which binds :Tlist to an overview
panel that lists all ctags for easy navigation.

Customizations: Vimate binds <Leader>rt to the ctags command to
update tags. F4 will give you a list of all tags in the current file.

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 'C' to commit changes.

ZoomWin

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

Customizations: Vimate binds <Leader><return> to :ZoomWin

Hammer

Hammer takes the current buffer, tries to convert it to HTML, and opens
it in your default browser. Hammer is enabled for Markdown files, but
has support for much more.

Customizations: Vimate binds <Leader> p to :Hammer

Gundo

Gundo let you navigate into the undo tree from VIM.

Customizations: Vimate binds F5 to Gundo. Vimate has also
activated by default the persistent undo. If you modify your file, save
and quit, you can re-open it and still revert your changes! How cool is
that?

Custom mappings

Node: vimate <Leader> key is /

CommandAction
F2Toggle copy and past mode. This is very useful when you want to past something in vim running in the terminal. It will deactivate the auto-indent and auto-insert of parenthesis.
<Leader> nToggle NERDTree
<Leader> <CR>Zoom in and out current window
<Leader> eexpands to :e {directory of current file}/ (open in the current buffer)
<Leader> t eexpands to :te {directory of current file}/ (open in a new tab)
<C-P>Insert the directory of the current file when in command bar
<C-Up>Move current line or visual block up
<C-Down>Move current line or visual block down
<Leader> <Leader>Incremental search is turned on. This removes the highlighted search term.
<F8>Toggle between dark and light theme for Solarized.

If you ever feel lost, you can type :Listmaps to get a list of all
mappings offered by Vimate distribution.

Useful command with VIM:

Editing

Normal mode

Commandaction
dawdelete (around) the word under the cursor, even if cursor is in the middle of the word. If there is a space after or before the word, it will be deleted too.
diwdelete (inside) the word under the cursor, even if cursor is in the middle of the word. No space deleted.
IMove cursor at the beginning of the line and enter in Insert mode.
AAppend at the end of the line. (Very useful)

Visual block mode

Commandaction
IInsert text in from of every selected lines
$AAppend text at the end of every selected lines ($ extends the block selection to the longest line in the selection).

添加新评论