SpaceVim:高度可定制模块化 vim 配置

flml4039 4年前
   <h2>SpaceVim</h2>    <p>Like spacemacs, but for vim.</p>    <h2>Features</h2>    <ul>     <li>Neovim-centric</li>     <li>Modular configuration</li>     <li>Lazy-load 90% of plugins withdein.vim</li>     <li>Robust, yet light weight</li>     <li>Unite centric work-flow</li>     <li>Extensive Neocomplete setup</li>     <li>Central location for tags</li>     <li>Lightweight simple status/tabline</li>     <li>Premium color-schemes</li>    </ul>    <h2>Structure</h2>    <ul>     <li>config/ - Configuration      <ul>       <li>plugins/ - Plugin configurations</li>       <li>mappings.vim - Key mappings</li>       <li>autocmds.vim - autocmd group</li>       <li>general.vim - General configuration</li>       <li>init.vim - runtimepath initialization</li>       <li>neovim.vim - Neovim specific setup</li>       <li>plugins.vim - Plugin bundles</li>       <li>commands.vim - Commands</li>       <li>functions.vim - Functions</li>       <li>main.vim - Main config</li>      </ul> </li>     <li>ftplugin/ - Language specific custom settings</li>     <li>snippets/ - Code snippets</li>     <li>filetype.vim - Custom filetype detection</li>     <li>init.vim - Sources config/main.vim</li>     <li>vimrc - Sources config/main.vim</li>    </ul>    <h2>Installl</h2>    <ul>     <li>vim</li>    </ul>    <pre>  mv ~/.vimrc ~/.vimrc_bak   mv ~/.vim ~/.vim_bak   git clone ~/.vim</pre>    <ul>     <li>nvim</li>    </ul>    <pre>  git clone ~/.config/nvim</pre>    <h2>Modular configuration</h2>    <p>SpaceVim will load custom configuration from ~/.local.vim and .local.vim in current directory.</p>    <p>here is an example:</p>    <pre>  " here are some basic customizations, please refer to the top of the vimrc file for all possible options  let g:spacevim_default_indent = 3  let g:spacevim_max_column     = 80  let g:spacevim_colorscheme    = 'my_awesome_colorscheme'  let g:spacevim_plugin_manager = 'dein'  " neobundle or dein or vim-plug    " change the default directory where all miscellaneous persistent files go  let g:spacevim_cache_dir = "/some/place/else"    " by default, language specific plugins are not loaded.  this can be changed with the following:  let g:spacevim_plugin_groups_exclude = ['ruby', 'python']    " if there are groups you want always loaded, you can use this:  let g:spacevim_plugin_groups_include = ['go']    " alternatively, you can set this variable to load exactly what you want  let g:spacevim_plugin_groups = ['core', 'web']    " if there is a particular plugin you don't like, you can define this variable to disable them entirely  let g:spacevim_disabled_plugins=['vim-foo', 'vim-bar']    " anything defined here are simply overrides  set wildignore+=\*/node_modules/\*  set guifont=Wingdings:h10</pre>    <h2>Unite centric work-flow</h2>    <ul>     <li> <p>List all the plugins has been installed, fuzzy find what you want, default action is open the github website of current plugin. default key is <leader>lp <img src=""></p> </li>     <li> <p>List all the mappings and description: f<space> <img src=""></p> </li>     <li> <p>List all the starred repos in, fuzzy find and open the website of the repo. default key is <leader>ls <img src=""></p> </li>    </ul>    <h2>Plugin Highlights</h2>    <ul>     <li>Package management with caching enabled and lazy loading</li>     <li>Project-aware tabs and label</li>     <li>Vimfiler as file-manager + SSH connections</li>     <li>Go completion via vim-go and gocode</li>     <li>Javascript completion via Tern</li>     <li>PHP completion, indent, folds, syntax</li>     <li>Python jedi completion, pep8 convention</li>     <li>Languages: Ansible, css3, csv, json, less, markdown, mustache</li>     <li>Helpers: Undo tree, bookmarks, git, tmux navigation, hex editor, sessions, and much more.</li>    </ul>    <p><em>Note</em> that 90% of the plugins are <strong> <a href="/misc/goto?guid=4959732994380567532" rel="nofollow,noindex">lazy-loaded</a> </strong> .</p>    <h2>Non Lazy-Loaded Plugins</h2>    <table>     <thead>      <tr>       <th>Name</th>       <th>Description</th>      </tr>     </thead>     <tbody>      <tr>       <td><a href="/misc/goto?guid=4959732994471994205" rel="nofollow,noindex">dein.vim</a></td>       <td>Dark powered Vim/Neovim plugin manager</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732994558276097" rel="nofollow,noindex">vimproc</a></td>       <td>Interactive command execution</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732994635965874" rel="nofollow,noindex">colorschemes</a></td>       <td>Awesome color-schemes</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732994730270331" rel="nofollow,noindex">file-line</a></td>       <td>Allow opening a file in a given line</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732994816895012" rel="nofollow,noindex">neomru</a></td>       <td>MRU source for Unite</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732994903321115" rel="nofollow,noindex">cursorword</a></td>       <td>Underlines word under cursor</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732994982420477" rel="nofollow,noindex">gitbranch</a></td>       <td>Lightweight git branch detection</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959632627030655096" rel="nofollow,noindex">gitgutter</a></td>       <td>Shows git diffs in the gutter</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732995099575997" rel="nofollow,noindex">tinyline</a></td>       <td>Tiny great looking statusline</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732995187609915" rel="nofollow,noindex">tagabana</a></td>       <td>Central location for all tags</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732995266769622" rel="nofollow,noindex">bookmarks</a></td>       <td>Bookmarks, works independently from vim marks</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732995355008948" rel="nofollow,noindex">tmux-navigator</a></td>       <td>Seamless navigation between tmux panes and vim splits</td>      </tr>     </tbody>    </table>    <h2>Lazy-Loaded Plugins</h2>    <h3>Language</h3>    <table>     <thead>      <tr>       <th>Name</th>       <th>Description</th>      </tr>     </thead>     <tbody>      <tr>       <td><a href="/misc/goto?guid=4959732995440127794" rel="nofollow,noindex">html5</a></td>       <td>HTML5 omnicomplete and syntax</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732995521179684" rel="nofollow,noindex">mustache</a></td>       <td>Mustache and handlebars syntax</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732995604479018" rel="nofollow,noindex">markdown</a></td>       <td>Markdown syntax highlighting</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732995691816106" rel="nofollow,noindex">ansible-yaml</a></td>       <td>Additional support for Ansible</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732995773262299" rel="nofollow,noindex">jinja</a></td>       <td>Jinja support in vim</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732995854270476" rel="nofollow,noindex">less</a></td>       <td>Syntax for LESS</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732995945350510" rel="nofollow,noindex">css3-syntax</a></td>       <td>CSS3 syntax support to vim's built-in syntax/css.vim</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732996029559607" rel="nofollow,noindex">csv</a></td>       <td>Handling column separated data</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732996113752634" rel="nofollow,noindex">pep8-indent</a></td>       <td>Nicer Python indentation</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732996202305900" rel="nofollow,noindex">logstash</a></td>       <td>Highlights logstash configuration files</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732996279303251" rel="nofollow,noindex">tmux</a></td>       <td>vim plugin for tmux.conf</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732996366055280" rel="nofollow,noindex">json</a></td>       <td>Better JSON support</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732996450603382" rel="nofollow,noindex">toml</a></td>       <td>Syntax for TOML</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732996537870798" rel="nofollow,noindex">i3</a></td>       <td>i3 window manager config syntax</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732996617836357" rel="nofollow,noindex">Dockerfile</a></td>       <td>syntax and snippets for Dockerfile</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4958847391531220982" rel="nofollow,noindex">go</a></td>       <td>Go development</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959615877208284034" rel="nofollow,noindex">jedi-vim</a></td>       <td>Python jedi autocompletion library</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959616284043902447" rel="nofollow,noindex">ruby</a></td>       <td>Ruby configuration files</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732996783590351" rel="nofollow,noindex">portfile</a></td>       <td>Macports portfile configuration files</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732996869222600" rel="nofollow,noindex">javascript</a></td>       <td>Enhanced Javascript syntax</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732996962960044" rel="nofollow,noindex">javascript-indent</a></td>       <td>Javascript indent script</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4958968573072252023" rel="nofollow,noindex">tern</a></td>       <td>Provides Tern-based JavaScript editing support</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732997071211669" rel="nofollow,noindex">php</a></td>       <td>Up-to-date PHP syntax file</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732997156846287" rel="nofollow,noindex">phpfold</a></td>       <td>PHP folding</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732997239840025" rel="nofollow,noindex">phpcomplete</a></td>       <td>Improved PHP omnicompletion</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732997327496946" rel="nofollow,noindex">phpindent</a></td>       <td>PHP official indenting</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732997399306034" rel="nofollow,noindex">phpspec</a></td>       <td>PhpSpec integration</td>      </tr>     </tbody>    </table>    <h3>Commands</h3>    <table>     <thead>      <tr>       <th>Name</th>       <th>Description</th>      </tr>     </thead>     <tbody>      <tr>       <td><a href="/misc/goto?guid=4959732997486032596" rel="nofollow,noindex">vimfiler</a></td>       <td>Powerful file explorer</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732997558088916" rel="nofollow,noindex">tinycomment</a></td>       <td>Robust but light-weight commenting</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732997644746078" rel="nofollow,noindex">vinarise</a></td>       <td>Hex editor</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4958836238115746026" rel="nofollow,noindex">syntastic</a></td>       <td>Syntax checking hacks</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732997751423454" rel="nofollow,noindex">gita</a></td>       <td>An awesome git handling plugin</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732997837117526" rel="nofollow,noindex">gista</a></td>       <td>Manipulate gists in Vim</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4958836238761895900" rel="nofollow,noindex">undotree</a></td>       <td>Ultimate undo history visualizer</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732997946865502" rel="nofollow,noindex">incsearch</a></td>       <td>Improved incremental searching</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732998029776118" rel="nofollow,noindex">expand-region</a></td>       <td>Visually select increasingly larger regions of text</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732998100008112" rel="nofollow,noindex">open-browser</a></td>       <td>Open URI with your favorite browser</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732998183687661" rel="nofollow,noindex">prettyprint</a></td>       <td>Pretty-print vim variables</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732998263282566" rel="nofollow,noindex">quickrun</a></td>       <td>Run commands quickly</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732998345125340" rel="nofollow,noindex">ref</a></td>       <td>Integrated reference viewer</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732998425812966" rel="nofollow,noindex">dictionary</a></td>       <td> interface</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732998509324244" rel="nofollow,noindex">vimwiki</a></td>       <td>Personal Wiki for Vim</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732998589703280" rel="nofollow,noindex">thesaurus</a></td>       <td>Look up words in an online thesaurus</td>      </tr>     </tbody>    </table>    <h3>Commands</h3>    <table>     <thead>      <tr>       <th>Name</th>       <th>Description</th>      </tr>     </thead>     <tbody>      <tr>       <td><a href="/misc/goto?guid=4959732998664232528" rel="nofollow,noindex">goyo</a></td>       <td>Distraction-free writing</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732998752019934" rel="nofollow,noindex">limelight</a></td>       <td>Hyperfocus-writing</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732998830436741" rel="nofollow,noindex">matchit</a></td>       <td>Intelligent pair matching</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959632627427389675" rel="nofollow,noindex">indentline</a></td>       <td>Display vertical indention lines</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959676867832721003" rel="nofollow,noindex">choosewin</a></td>       <td>Choose window to use, like tmux's 'display-pane'</td>      </tr>     </tbody>    </table>    <h3>Completion</h3>    <table>     <thead>      <tr>       <th>Name</th>       <th>Description</th>      </tr>     </thead>     <tbody>      <tr>       <td><a href="/misc/goto?guid=4959732998969729281" rel="nofollow,noindex">delimitmate</a></td>       <td>Insert mode auto-completion for quotes, parens, brackets</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732999047541464" rel="nofollow,noindex">echodoc</a></td>       <td>Print objects' documentation in echo area</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732999123007799" rel="nofollow,noindex">deoplete</a></td>       <td>Neovim: Dark powered asynchronous completion framework</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732999207978052" rel="nofollow,noindex">neocomplete</a></td>       <td>Next generation completion framework</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732999287993630" rel="nofollow,noindex">neosnippet</a></td>       <td>Contains neocomplete snippets source</td>      </tr>     </tbody>    </table>    <h3>Unite</h3>    <table>     <thead>      <tr>       <th>Name</th>       <th>Description</th>      </tr>     </thead>     <tbody>      <tr>       <td><a href="/misc/goto?guid=4959732999371046915" rel="nofollow,noindex">unite</a></td>       <td>Unite and create user interfaces</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732999452912906" rel="nofollow,noindex">unite-colorscheme</a></td>       <td>Browse colorschemes</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732999538314078" rel="nofollow,noindex">unite-filetype</a></td>       <td>Select file type</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732999614265683" rel="nofollow,noindex">unite-history</a></td>       <td>Browse history of command/search</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732999699872361" rel="nofollow,noindex">unite-build</a></td>       <td>Build with Unite interface</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732999776123250" rel="nofollow,noindex">unite-outline</a></td>       <td>File "outline" source for unite</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732999860173453" rel="nofollow,noindex">unite-tag</a></td>       <td>Tags source for Unite</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959732999930837284" rel="nofollow,noindex">unite-quickfix</a></td>       <td>Quickfix source for Unite</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959733000019308149" rel="nofollow,noindex">neossh</a></td>       <td>SSH interface for plugins</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959733000089111109" rel="nofollow,noindex">unite-pull-request</a></td>       <td>GitHub pull-request source for Unite</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959733000172279887" rel="nofollow,noindex">junkfile</a></td>       <td>Create temporary files for memo and testing</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959733000262920579" rel="nofollow,noindex">unite-issue</a></td>       <td>Issue manager for JIRA and GitHub</td>      </tr>     </tbody>    </table>    <h3>Operators & Text Objects</h3>    <table>     <thead>      <tr>       <th>Name</th>       <th>Description</th>      </tr>     </thead>     <tbody>      <tr>       <td><a href="/misc/goto?guid=4959733000331813683" rel="nofollow,noindex">operator-user</a></td>       <td>Define your own operator easily</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959733000422395837" rel="nofollow,noindex">operator-replace</a></td>       <td>Operator to replace text with register content</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959733000504664821" rel="nofollow,noindex">operator-surround</a></td>       <td>Operator to enclose text objects</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959733000575557695" rel="nofollow,noindex">textobj-user</a></td>       <td>Create your own text objects</td>      </tr>      <tr>       <td><a href="/misc/goto?guid=4959733000659048649" rel="nofollow,noindex">textobj-multiblock</a></td>       <td>Handle multiple brackets objects</td>      </tr>     </tbody>    </table>    <h2>Custom Key bindings</h2>    <table>     <thead>      <tr>       <th>Key</th>       <th>Mode</th>       <th>Action</th>      </tr>     </thead>     <tbody>      <tr>       <td><leader> + y</td>       <td>Normal/visual</td>       <td>Copy selection to X11 clipboard ("+y)</td>      </tr>      <tr>       <td><leader> + p</td>       <td>Normal/visual</td>       <td>Paste selection from X11 clipboard ("+p)</td>      </tr>      <tr>       <td>Ctrl + f</td>       <td>Normal</td>       <td>Smart page forward (C-f/C-d)</td>      </tr>      <tr>       <td>Ctrl + b</td>       <td>Normal</td>       <td>Smart page backwards (C-b/C-u)</td>      </tr>      <tr>       <td>Ctrl + e</td>       <td>Normal</td>       <td>Smart scroll down (3C-e/j)</td>      </tr>      <tr>       <td>Ctrl + y</td>       <td>Normal</td>       <td>Smart scroll up (3C-y/k)</td>      </tr>      <tr>       <td>Ctrl + q</td>       <td>Normal</td>       <td>Ctrl + w</td>      </tr>      <tr>       <td>Ctrl + x</td>       <td>Normal</td>       <td>Switch buffer and placement</td>      </tr>      <tr>       <td>Up,Down</td>       <td>Normal</td>       <td>Smart up and down</td>      </tr>      <tr>       <td>}</td>       <td>Normal</td>       <td>After paragraph motion go to first non-blank char (}^)</td>      </tr>      <tr>       <td><</td>       <td>Visual/Normal</td>       <td>Indent to left and re-select</td>      </tr>      <tr>       <td>></td>       <td>Visual/Normal</td>       <td>Indent to right and re-select</td>      </tr>      <tr>       <td>Tab</td>       <td>Visual</td>       <td>Indent to right and re-select</td>      </tr>      <tr>       <td>Shift + Tab</td>       <td>Visual</td>       <td>Indent to left and re-select</td>      </tr>      <tr>       <td>gp</td>       <td>Normal</td>       <td>Select last paste</td>      </tr>      <tr>       <td>Q / gQ</td>       <td>Normal</td>       <td>Disable EX-mode ()</td>      </tr>      <tr>       <td>Ctrl + a</td>       <td>Command</td>       <td>Navigation in command line</td>      </tr>      <tr>       <td>Ctrl + b</td>       <td>Command</td>       <td>Move cursor backward in command line</td>      </tr>      <tr>       <td>Ctrl + f</td>       <td>Command</td>       <td>Move cursor forward in command line</td>      </tr>     </tbody>    </table>    <h3>File Operations</h3>    <table>     <thead>      <tr>       <th>Key</th>       <th>Mode</th>       <th>Action</th>      </tr>     </thead>     <tbody>      <tr>       <td><leader> + cd</td>       <td>Normal</td>       <td>Switch to the root directory(vim-rooter)</td>      </tr>      <tr>       <td><leader> + w</td>       <td>Normal/visual</td>       <td>Write (:w)</td>      </tr>      <tr>       <td>Ctrl + s</td>       <td><em>All</em></td>       <td>Write (:w)</td>      </tr>      <tr>       <td>W!!</td>       <td>Command</td>       <td>Write as root</td>      </tr>     </tbody>    </table>    <h3>Editor UI</h3>    <table>     <thead>      <tr>       <th>Key</th>       <th>Mode</th>       <th>Action</th>      </tr>     </thead>     <tbody>      <tr>       <td>F2</td>       <td><em>All</em></td>       <td>Toggle tagbar</td>      </tr>      <tr>       <td>F3</td>       <td><em>All</em></td>       <td>Toggle Vimfiler</td>      </tr>      <tr>       <td><leader> + ts</td>       <td>Normal</td>       <td>Toggle spell-checker (:setlocal spell!)</td>      </tr>      <tr>       <td><leader> + tn</td>       <td>Normal</td>       <td>Toggle line numbers (:setlocal nonumber!)</td>      </tr>      <tr>       <td><leader> + tl</td>       <td>Normal</td>       <td>Toggle hidden characters (:setlocal nolist!)</td>      </tr>      <tr>       <td><leader> + th</td>       <td>Normal</td>       <td>Toggle highlighted search (:set hlsearch!)</td>      </tr>      <tr>       <td><leader> + tw</td>       <td>Normal</td>       <td>Toggle wrap (:setlocal wrap! breakindent!)</td>      </tr>      <tr>       <td>g0</td>       <td>Normal</td>       <td>Go to first tab (:tabfirst)</td>      </tr>      <tr>       <td>g$</td>       <td>Normal</td>       <td>Go to last tab (:tablast)</td>      </tr>      <tr>       <td>gr</td>       <td>Normal</td>       <td>Go to preview tab (:tabprevious)</td>      </tr>      <tr>       <td>Ctrl + <Dow></td>       <td>Normal</td>       <td>Move to split below (j)</td>      </tr>      <tr>       <td>Ctrl + <Up></td>       <td>Normal</td>       <td>Move to upper split (k)</td>      </tr>      <tr>       <td>Ctrl + <Left></td>       <td>Normal</td>       <td>Move to left split (h)</td>      </tr>      <tr>       <td>Ctrl + <Right></td>       <td>Normal</td>       <td>Move to right split (l)</td>      </tr>      <tr>       <td>*</td>       <td>Visual</td>       <td>Search selection forwards</td>      </tr>      <tr>       <td>#</td>       <td>Visual</td>       <td>Search selection backwards</td>      </tr>      <tr>       <td>, + Space</td>       <td>Normal</td>       <td>Remove all spaces at EOL</td>      </tr>      <tr>       <td>Ctrl + r</td>       <td>Visual</td>       <td>Replace selection</td>      </tr>      <tr>       <td><leader> + lj</td>       <td>Normal</td>       <td>Next on location list</td>      </tr>      <tr>       <td><leader> + lk</td>       <td>Normal</td>       <td>Previous on location list</td>      </tr>      <tr>       <td><leader> + S</td>       <td>Normal/visual</td>       <td>Source selection</td>      </tr>     </tbody>    </table>    <h3>Window Management</h3>    <table>     <thead>      <tr>       <th>Key</th>       <th>Mode</th>       <th>Action</th>      </tr>     </thead>     <tbody>      <tr>       <td>q</td>       <td>Normal</td>       <td>Smart buffer close</td>      </tr>      <tr>       <td>s + p</td>       <td>Normal</td>       <td>Split nicely</td>      </tr>      <tr>       <td>s + v</td>       <td>Normal</td>       <td>:split</td>      </tr>      <tr>       <td>s + g</td>       <td>Normal</td>       <td>:vsplit</td>      </tr>      <tr>       <td>s + t</td>       <td>Normal</td>       <td>Open new tab (:tabnew)</td>      </tr>      <tr>       <td>s + o</td>       <td>Normal</td>       <td>Close other windows (:only)</td>      </tr>      <tr>       <td>s + x</td>       <td>Normal</td>       <td>Remove buffer, leave blank window</td>      </tr>      <tr>       <td>s + q</td>       <td>Normal</td>       <td>Closes current buffer (:close)</td>      </tr>      <tr>       <td>s + Q</td>       <td>Normal</td>       <td>Removes current buffer (:bdelete)</td>      </tr>      <tr>       <td>Tab</td>       <td>Normal</td>       <td>Next window or tab</td>      </tr>      <tr>       <td>Shift + Tab</td>       <td>Normal</td>       <td>Previous window or tab</td>      </tr>      <tr>       <td><leader> + sv</td>       <td>Normal</td>       <td>Split with previous buffer</td>      </tr>      <tr>       <td><leader> + sg</td>       <td>Normal</td>       <td>Vertical split with previous buffer</td>      </tr>     </tbody>    </table>    <h3>Plugin: Unite</h3>    <table>     <thead>      <tr>       <th>Key</th>       <th>Mode</th>       <th>Action</th>      </tr>     </thead>     <tbody>      <tr>       <td>; + r</td>       <td>Normal</td>       <td>Resumes Unite window</td>      </tr>      <tr>       <td>; + f</td>       <td>Normal</td>       <td>Opens Unite file recursive search</td>      </tr>      <tr>       <td>; + i</td>       <td>Normal</td>       <td>Opens Unite git file search</td>      </tr>      <tr>       <td>; + g</td>       <td>Normal</td>       <td>Opens Unite grep with ag (the_silver_searcher)</td>      </tr>      <tr>       <td>; + u</td>       <td>Normal</td>       <td>Opens Unite source</td>      </tr>      <tr>       <td>; + t</td>       <td>Normal</td>       <td>Opens Unite tag</td>      </tr>      <tr>       <td>; + T</td>       <td>Normal</td>       <td>Opens Unite tag/include</td>      </tr>      <tr>       <td>; + l</td>       <td>Normal</td>       <td>Opens Unite location list</td>      </tr>      <tr>       <td>; + q</td>       <td>Normal</td>       <td>Opens Unite quick fix</td>      </tr>      <tr>       <td>; + e</td>       <td>Normal</td>       <td>Opens Unite register</td>      </tr>      <tr>       <td>; + j</td>       <td>Normal</td>       <td>Opens Unite jump, change</td>      </tr>      <tr>       <td>; + h</td>       <td>Normal</td>       <td>Opens Unite history/yank</td>      </tr>      <tr>       <td>; + s</td>       <td>Normal</td>       <td>Opens Unite session</td>      </tr>      <tr>       <td>; + o</td>       <td>Normal</td>       <td>Opens Unite outline</td>      </tr>      <tr>       <td>; + ma</td>       <td>Normal</td>       <td>Opens Unite mapping</td>      </tr>      <tr>       <td>; + me</td>       <td>Normal</td>       <td>Opens Unite output messages</td>      </tr>      <tr>       <td><leader> + b</td>       <td>Normal</td>       <td>Opens Unite buffers, mru, bookmark</td>      </tr>      <tr>       <td><leader> + ta</td>       <td>Normal</td>       <td>Opens Unite tab</td>      </tr>      <tr>       <td><leader> + gf</td>       <td>Normal</td>       <td>Opens Unite file with word at cursor</td>      </tr>      <tr>       <td><leader> + gt</td>       <td>Normal/visual</td>       <td>Opens Unite tag with word at cursor</td>      </tr>      <tr>       <td><leader> + gg</td>       <td>Visual</td>       <td>Opens Unite navigate with word at cursor</td>      </tr>      <tr>       <td><strong>Within <em>Unite</em> buffers </strong></td>       <td> </td>       <td> </td>      </tr>      <tr>       <td>Ctrl + h/k/l/r</td>       <td>Normal</td>       <td>Un-map</td>      </tr>      <tr>       <td>Ctrl + r</td>       <td>Normal</td>       <td>Redraw</td>      </tr>      <tr>       <td>Ctrl + j</td>       <td>Insert</td>       <td>Select next line</td>      </tr>      <tr>       <td>Ctrl + k</td>       <td>Insert</td>       <td>Select previous line</td>      </tr>      <tr>       <td>'</td>       <td>Normal</td>       <td>Toggle mark current candidate, up</td>      </tr>      <tr>       <td>e</td>       <td>Normal</td>       <td>Run default action</td>      </tr>      <tr>       <td>Ctrl + v</td>       <td>Normal</td>       <td>Open in a split</td>      </tr>      <tr>       <td>Ctrl + s</td>       <td>Normal</td>       <td>Open in a vertical split</td>      </tr>      <tr>       <td>Ctrl + t</td>       <td>Normal</td>       <td>Open in a new tab</td>      </tr>      <tr>       <td>Tab</td>       <td>Normal</td>       <td>Ctrl + w + w</td>      </tr>      <tr>       <td>Escape</td>       <td>Normal</td>       <td>Exit unite</td>      </tr>      <tr>       <td>jj</td>       <td>Insert</td>       <td>Leave Insert mode</td>      </tr>      <tr>       <td>r</td>       <td>Normal</td>       <td>Replace ('search' profile) or rename</td>      </tr>      <tr>       <td>Tab</td>       <td>Insert</td>       <td>Unite autocompletion</td>      </tr>      <tr>       <td>Ctrl + z</td>       <td>Normal/insert</td>       <td>Toggle transpose window</td>      </tr>      <tr>       <td>Ctrl + w</td>       <td>Insert</td>       <td>Delete backward path</td>      </tr>     </tbody>    </table>    <h3>Plugin: VimFiler</h3>    <table>     <thead>      <tr>       <th>Key</th>       <th>Mode</th>       <th>Action</th>      </tr>     </thead>     <tbody>      <tr>       <td>; + e</td>       <td>Normal</td>       <td>Toggle file explorer</td>      </tr>      <tr>       <td>; + a</td>       <td>Normal</td>       <td>Toggle file explorer on current file</td>      </tr>      <tr>       <td><strong>Within <em>VimFiler</em> buffers </strong></td>       <td> </td>       <td> </td>      </tr>      <tr>       <td>Ctrl + j</td>       <td>Normal</td>       <td>Un-map</td>      </tr>      <tr>       <td>Ctrl + l</td>       <td>Normal</td>       <td>Un-map</td>      </tr>      <tr>       <td>E</td>       <td>Normal</td>       <td>Un-map</td>      </tr>      <tr>       <td>sv</td>       <td>Normal</td>       <td>Split edit</td>      </tr>      <tr>       <td>sg</td>       <td>Normal</td>       <td>Vertical split edit</td>      </tr>      <tr>       <td>p</td>       <td>Normal</td>       <td>Preview</td>      </tr>      <tr>       <td>i</td>       <td>Normal</td>       <td>Switch to directory history</td>      </tr>      <tr>       <td>Ctrl + r</td>       <td>Normal</td>       <td>Redraw</td>      </tr>      <tr>       <td>Ctrl + q</td>       <td>Normal</td>       <td>Quick look</td>      </tr>     </tbody>    </table>    <h3>Plugin: neocomplete</h3>    <table>     <thead>      <tr>       <th>Key</th>       <th>Mode</th>       <th>Action</th>      </tr>     </thead>     <tbody>      <tr>       <td>Enter</td>       <td>Insert</td>       <td>Smart snippet expansion</td>      </tr>      <tr>       <td>Ctrl + space</td>       <td>Insert</td>       <td>Autocomplete with Unite</td>      </tr>      <tr>       <td>Tab</td>       <td>Insert/select</td>       <td>Smart tab movement or completion</td>      </tr>      <tr>       <td>Ctrl + j/k/f/b</td>       <td>Insert</td>       <td>Movement in popup</td>      </tr>      <tr>       <td>Ctrl + g</td>       <td>Insert</td>       <td>Undo completion</td>      </tr>      <tr>       <td>Ctrl + l</td>       <td>Insert</td>       <td>Complete common string</td>      </tr>      <tr>       <td>Ctrl + o</td>       <td>Insert</td>       <td>Expand snippet</td>      </tr>      <tr>       <td>Ctrl + y</td>       <td>Insert</td>       <td>Close pop-up</td>      </tr>      <tr>       <td>Ctrl + e</td>       <td>Insert</td>       <td>Close pop-up</td>      </tr>      <tr>       <td>Ctrl + l</td>       <td>Insert</td>       <td>Complete common string</td>      </tr>      <tr>       <td>Ctrl + d</td>       <td>Insert</td>       <td>Scroll down</td>      </tr>      <tr>       <td>Ctrl + u</td>       <td>Insert</td>       <td>Scroll up</td>      </tr>     </tbody>    </table>    <h3>Plugin: TinyComment</h3>    <table>     <thead>      <tr>       <th>Key</th>       <th>Mode</th>       <th>Action</th>      </tr>     </thead>     <tbody>      <tr>       <td><leader> + v</td>       <td>Normal/visual</td>       <td>Toggle single-line comments</td>      </tr>      <tr>       <td><leader> + V</td>       <td>Normal/visual</td>       <td>Toggle comment block</td>      </tr>     </tbody>    </table>    <h3>Plugin: Goyo and Limelight</h3>    <table>     <thead>      <tr>       <th>Key</th>       <th>Mode</th>       <th>Action</th>      </tr>     </thead>     <tbody>      <tr>       <td><leader> + G</td>       <td>Normal</td>       <td>Toggle distraction-free writing</td>      </tr>     </tbody>    </table>    <h3>Plugin: ChooseWin</h3>    <table>     <thead>      <tr>       <th>Key</th>       <th>Mode</th>       <th>Action</th>      </tr>     </thead>     <tbody>      <tr>       <td>-</td>       <td>Normal</td>       <td>Choose a window to edit</td>      </tr>      <tr>       <td><leader> + -</td>       <td>Normal</td>       <td>Switch editing window with selected</td>      </tr>     </tbody>    </table>    <h3>Plugin: Bookmarks</h3>    <table>     <thead>      <tr>       <th>Key</th>       <th>Mode</th>       <th>Action</th>      </tr>     </thead>     <tbody>      <tr>       <td>m + a</td>       <td>Normal</td>       <td>Show list of all bookmarks</td>      </tr>      <tr>       <td>m + m</td>       <td>Normal</td>       <td>Toggle bookmark in current line</td>      </tr>      <tr>       <td>m + n</td>       <td>Normal</td>       <td>Jump to next bookmark</td>      </tr>      <tr>       <td>m + p</td>       <td>Normal</td>       <td>Jump to previous bookmark</td>      </tr>      <tr>       <td>m + i</td>       <td>Normal</td>       <td>Annotate bookmark</td>      </tr>     </tbody>    </table>    <h3>Plugin: Gita</h3>    <table>     <thead>      <tr>       <th>Key</th>       <th>Mode</th>       <th>Action</th>      </tr>     </thead>     <tbody>      <tr>       <td><leader> + gs</td>       <td>Normal</td>       <td>Git status</td>      </tr>      <tr>       <td><leader> + gd</td>       <td>Normal</td>       <td>Git diff</td>      </tr>      <tr>       <td><leader> + gc</td>       <td>Normal</td>       <td>Git commit</td>      </tr>      <tr>       <td><leader> + gb</td>       <td>Normal</td>       <td>Git blame</td>      </tr>      <tr>       <td><leader> + gB</td>       <td>Normal</td>       <td>Open in browser</td>      </tr>      <tr>       <td><leader> + gp</td>       <td>Normal</td>       <td>Git push</td>      </tr>     </tbody>    </table>    <h3>Plugin: GitGutter</h3>    <table>     <thead>      <tr>       <th>Key</th>       <th>Mode</th>       <th>Action</th>      </tr>     </thead>     <tbody>      <tr>       <td><leader> + hj</td>       <td>Normal</td>       <td>Jump to next hunk</td>      </tr>      <tr>       <td><leader> + hk</td>       <td>Normal</td>       <td>Jump to previous hunk</td>      </tr>      <tr>       <td><leader> + hs</td>       <td>Normal</td>       <td>Stage hunk</td>      </tr>      <tr>       <td><leader> + hr</td>       <td>Normal</td>       <td>Revert hunk</td>      </tr>      <tr>       <td><leader> + hp</td>       <td>Normal</td>       <td>Preview hunk</td>      </tr>     </tbody>    </table>    <h3>Misc Plugins</h3>    <table>     <thead>      <tr>       <th>Key</th>       <th>Mode</th>       <th>Action</th>      </tr>     </thead>     <tbody>      <tr>       <td><leader> + gu</td>       <td>Normal</td>       <td>Open undo tree</td>      </tr>      <tr>       <td><leader> + i</td>       <td>Normal</td>       <td>Toggle indentation lines</td>      </tr>      <tr>       <td><leader> + j</td>       <td>Normal</td>       <td>Start smalls</td>      </tr>      <tr>       <td><leader> + r</td>       <td>Normal</td>       <td>Quickrun</td>      </tr>      <tr>       <td><leader> + ?</td>       <td>Normal</td>       <td>Dictionary</td>      </tr>      <tr>       <td><leader> + W</td>       <td>Normal</td>       <td>Wiki</td>      </tr>      <tr>       <td><leader> + K</td>       <td>Normal</td>       <td>Thesaurus</td>      </tr>     </tbody>    </table>    <h2>Enjoy!</h2>    <h2>Credits & Thanks</h2>    <ul>     <li>vimdoc generate doc file for SpaceVim</li>     <li>Rafael Bodill and his vim-config</li>     <li>Bailey Ling and his dotvim</li>    </ul>    <p> </p>    <p> </p>