★ Single file, just download it. Ready to rock in 5 secs.
★ Well polished, should work on Mac, Linux and Windows.
★ Self-adapted, extensible, to fulfill your needs.
★ Support HTML/CSS/Javascript, Python, Latex autocompletion.
Download .vimrc file, put it in your home directory. Run vim as usual, it can handle itself quite well.
Tips for Linux & macOS users:
curl -Lo ~/.vimrc https://j.mp/re-vim
Need neovim support?
ln ~/.vimrc ~/.config/nvim/init.vim
[Optinal] Ever want Oni closer to bare Vim experience?
Copy those line to your ~/.oni/config.tsx
and fire your Oni up!
The screenshot was taken from VimR.
Some old screenshots can be found here.
re-vim uses vim-plug (+python
required) as plugin manager. Run :PlugInstall
in vim to install all built-in plugins. This should be completed in 30 secs.
- delimitMate - provides insert mode auto-completion for quotes, parens, brackets, etc.
- vim-align - DrChip's Alignment Tool for Vim
- YankRing.vim - Maintains a history of previous yanks, changes and deletes
- goyo.vim - Distraction-free writing in Vim
- limelight.vim - Best served with goyo.vim
- ultisnips - The ultimate snippet solution for Vim. Send pull requests to SirVer/ultisnips!(
+python
required)- vim-snippets - Source of ultisnips
- emmet-vim - emmet for vim: http://emmet.io/
- nerdtree - A tree explorer plugin for vim.
- vim-ags - Silver searcher plugin for vim.
- vim-table-mode - VIM Table Mode for instant table creation
- vim-surround - surround.vim: quoting/parenthesizing made simple
- vim-signature - Plugin to toggle, display and navigate marks
- vim-gitgutter - A Vim plugin which shows a git diff in the gutter (sign column) and stages/undoes hunks.
- nerdcommenter - Vim plugin for intensely orgasmic commenting
- vim-airline - lean & mean status/tabline for vim that's light as air
- vim-multiple-cursors - True Sublime Text style multiple selections for Vim
- vim-jsbeautify - vim plugin which formated javascript files by js-beautify(
node.js
required) - undotree - The ultimate undo history visualizer for VIM
- ctrlp.vim - Active fork of kien/ctrlp.vim—Fuzzy file, buffer, mru, tag, etc finder.
- codi.vim - The interactive scratchpad for hackers.
- vim-one - Adaptation of one-light and one-dark colorschemes for Vim
- neocomplete - Next generation completion framework after neocomplcache(
+lua
required) - nvim-completion-manager - ⚡️ Fast, Extensible, Async Completion Framework for Neovim
- tern_for_vim - Tern plugin for Vim
- nvim-cm-tern - Javascript completion for nvim-completion-manager.
- vimtex - A modern vim plugin for editing LaTeX files.
imap jk <Esc> " Use `jk` to exit Insert Mode
let mapleader = "\<Space>" " Use `<Space>` as mapleader
use :W
for sudo writing on Mac & *nix.
use :Wcolor
for showing highlight group under current cursor
Key | Mode | Action |
---|---|---|
<BS> |
Normal | unhighlight the search result |
yo |
Normal | set nopaste automatically when done |
[b |
Normal | switch to previous buffer |
]b |
Normal | switch to next buffer |
<Ctrl> + a |
Command/Insert | move the cursor to the begining of line |
<Ctrl> + e |
Command/Insert | move the cursor to the end of line |
<Ctrl> + h |
Command/Insert | move the cursor left by word |
<Ctrl> + l |
Command/Insert | move the cursor right by word |
<Ctrl> + b |
Insert | move the cursor left by char |
<Ctrl> + f |
Insert | move the cursor right by char |
<Ctrl> + j |
Insert | move the cursor down by line |
<Ctrl> + k |
Insert | move the cursor up by line |
<Ctrl> + j |
Visual | move the current line downward |
<Ctrl> + k |
Visual | move the current line upward |
<Ctrl> + h |
Normal | resize the current split window |
<Ctrl> + l |
Normal | resize the current split window |
<Ctrl> + j |
Normal | resize the current split window |
<Ctrl> + k |
Normal | resize the current split window |
Key | Mode | Action |
---|---|---|
<Leader> + r |
Normal | Restore last session |
<Leader> + b |
Normal | Toggle background(need colorscheme support) |
<Leader> + c |
Normal | Toggle showing colorcolumn(highlight 80 column etc.) |
<Leader> + d |
Normal | Toggle expandtab(automatically expand tab to space?) |
<Leader> + f |
Normal | Toggle fileformat(unix/mac/dos) |
<Leader> + k |
Normal | Toggle showing linebreak(add '+++' before wrapped line) |
<Leader> + l |
Normal | Toggle showing non-printable char |
<Leader> + m |
Normal | Toggle showing foldnumber margin |
<Leader> + n |
Normal | Toggle showing linenumber |
<Leader> + s |
Normal | Strip whitespace & blankline EOF |
<Leader> + t |
Normal | Toggle tab & space(also can be used as indent guideline) |
<Leader> + v |
Normal | Toggle cursorline |
<Leader> + w |
Normal | Toggle linewrap |
<Leader> + x |
Normal | Toggle modifiable(readonly mode) |
<Leader> + z |
Normal | Toggle SearchFold(also can be used as outliner) |
<Leader> + <Space> |
Normal | Toggle FoldMethod |
Plugin | Key | Mode | Action |
---|---|---|---|
ctrlp.vim | <Leader> + o |
Normal | Open CtrlP window |
undotree | <Leader> + u |
Normal | Toggle undotree window |
YankRing.vim | <Leader> + y |
Normal | Open YankRing window |
YankRing.vim | <Ctrl> + p |
Normal | Replace with previous YankRing item |
YankRing.vim | <Ctrl> + n |
Normal | Replace with next YankRing item |
nerdcommenter | \ |
Normal/Visual | Toggle comment |
nerdcommenter | Ctrl + \ |
Normal/Visual | CommentSexy |
emmet-vim | , + , |
Insert/Visual | Expand abbr |
nerdtree | <Leader> + e |
Normal | Toggle nerdtree |
vim-multiple-cursors | + |
Normal/Visual | multi_cursor_next_key |
vim-multiple-cursors | _ |
Normal/Visual | multi_cursor_prev_key |
vim-multiple-cursors | - |
Normal/Visual | multi_cursor_skip_key |
vim-align | <Leader> + g |
Normal/Visual | Align with |
goyo.vim | Ctrl + w + <Space> |
Normal | Toggle goyo mode |
limelight.vim | Ctrl + w + <Enter> |
Normal | Toggle limelight mode |
ultisnips | <Tab> |
Insert | Expand snips |
ultisnips | <Tab> |
Insert | Jumpforward |
ultisnips | <Shift> + <Tab> |
Insert | Jumpbackward |
vim-jsbeautify | <Leader> + j + s |
Normal | JsBeauty |
For more key bindings please refer to the plugin's manual.
re-vim uses ~/.vimrc.after
(and ~/.vimrc.before
) for your customization.
For example, to override the default colorscheme:
echo "colorscheme paper" >> ~/.vimrc.after
To add new plugins, you should create ~/.vimrc.plug
:
echo "Plug 'altercation/vim-colors-solarized'" >> ~/.vimrc.plug