Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Vim is an amazing piece of software, but pretty messy too due to it's age. <code>Vi</code> was released in 1976 and <code>Vim</code> was released in 1991. For example, Vim offers quite a few different ways to do text-completion, from simple keyword to its "omni" completion system. On top of that, some plugins choose to work with the inbuilt functionality, while others just replace it wholesale. Hopefully the following suggestions get you started though.</p> <h2>IDE with Vim</h2> <p>You may want to try this new patch for Vim which allows Vim to be used inside Visual Studio as the editor:</p> <ul> <li><a href="http://code.google.com/p/vivim/" rel="nofollow noreferrer" title="ViVim">ViVim</a></li> </ul> <h2>Vundle</h2> <p>Firstly, install the <a href="https://github.com/gmarik/vundle" rel="nofollow noreferrer">Vundle</a> plugin manager plugin for Vim! It works very well and makes managing Vim plugins easy. Handles installation, updates and removal.</p> <p>For example, your <code>.vimrc</code> now just contains:</p> <pre><code>" === Plugins! === Plugin 'junegunn/fzf' Plugin 'scrooloose/nerdtree' Plugin 'w0rp/ale' ... </code></pre> <p>And a <code>PluginUpdate</code> command will install them or update them.</p> <h2>Plugins for a Vim-IDE</h2> <p>The following vim scripts give Vim more of an IDE feel. Keep in mind that Vim has a huge number of features built in, so take time to learn those (which is an ongoing journey) before loading up 20 plugins.</p> <p>Highest impact plugins for me are <a href="https://github.com/junegunn/fzf.vim" rel="nofollow noreferrer">fzf</a> and <a href="https://github.com/w0rp/ale" rel="nofollow noreferrer">ALE</a>. You'll want to install <a href="https://github.com/junegunn/fzf" rel="nofollow noreferrer">fzf</a> and <a href="https://github.com/BurntSushi/ripgrep" rel="nofollow noreferrer">ripgrep</a>.</p> <p><strong>Navigation:</strong></p> <ul> <li><a href="https://github.com/junegunn/fzf.vim" rel="nofollow noreferrer">FZF</a> - Favorite plugin, awesome filesystem navigation and text-search</li> <li><a href="http://www.vim.org/scripts/script.php?script%5Fid=1658" rel="nofollow noreferrer" title="Nerd Tree">Nerd Tree</a> - Filesystem navigation</li> <li><a href="http://www.vim.org/scripts/script.php?script_id=3025" rel="nofollow noreferrer">Command-T</a> - Search a project by filename to open, would recommend FZF instead</li> <li><a href="https://github.com/ctrlpvim/ctrlp.vim" rel="nofollow noreferrer">CtrlP</a> - An alternative to Command-T, fuzzy file and buffer searching. Generally slower, but doesn't require compilation</li> <li><a href="http://www.vim.org/scripts/script.php?script_id=3465" rel="nofollow noreferrer" title="Tag Bar">Tag Bar</a> - Code navigation by functions</li> <li><a href="https://github.com/dterei/VimBookmarking" rel="nofollow noreferrer">Bookmarking</a> - Bookmarks for vim (my own plugin :))</li> </ul> <p><strong>Text Completion:</strong></p> <ul> <li><a href="http://www.vim.org/scripts/script.php?script_id=2754" rel="nofollow noreferrer" title="delimitMate">delimitMate</a> - Automatic closing of parentheses, braces.. etc</li> <li><a href="https://github.com/tomtom/tcomment_vim" rel="nofollow noreferrer">tcomment</a> - Easy comment/uncomment source code commands</li> <li><a href="http://www.vim.org/scripts/script.php?script_id=2540" rel="nofollow noreferrer" title="Snip Mate">Ultisnips</a> - Great Vim snippets system</li> <li><a href="https://github.com/valloric/youcompleteme" rel="nofollow noreferrer">YouCompleteMe</a> - Code completion, lots of features</li> <li><a href="https://github.com/Shougo/neocomplete.vim" rel="nofollow noreferrer">neocomplete</a> - Slightly simpler code completion than YCM</li> </ul> <p>I personally find code-completion too much and just rely on Vim's builtin <code>CTRL-N</code> text-completion feature, up to you, but remember <code>CTRL-N</code>! Vim's built-in completion system extends beyond that, with different completion modes such as filename completion with <code>CTRL-X CTRL-F</code> or "omni-completion", which tries to offer file-type specific context dependent completion through <code>CTRL-X CTRL-O</code>. Omni-completion requires file-type specific plugins, the <a href="https://github.com/fatih/vim-go" rel="nofollow noreferrer">vim-go</a> package for Golang supports it.</p> <p><strong>Formatting:</strong></p> <ul> <li><a href="https://github.com/godlygeek/tabular" rel="nofollow noreferrer">tabular</a> - Align text easily</li> <li><a href="https://github.com/tpope/vim-surround" rel="nofollow noreferrer">vim-surround</a> - Quickly surround some text (i.e., brackets, tags...)</li> </ul> <p><strong>Just awesome:</strong></p> <ul> <li><a href="https://github.com/scrooloose/syntastic" rel="nofollow noreferrer">ALE</a> - Live syntax checking for many languages, supports Vim 8's new features such as asynchronous jobs to ensure it doesn't freeze up Vim while running.</li> <li><a href="https://github.com/tpope/vim-fugitive" rel="nofollow noreferrer">fugitive</a> - Git within vim, diffs, blame... etc</li> <li><a href="https://github.com/airblade/vim-gitgutter" rel="nofollow noreferrer">gitgutter</a> - Live diff from git committed version of file</li> <li><a href="https://github.com/vim-scripts/YankRing.vim" rel="nofollow noreferrer">YankRing</a> - Easy access to previously copied or deleted text objects</li> </ul> <p><strong>Better GUI:</strong></p> <ul> <li><a href="https://github.com/vim-airline/vim-airline" rel="nofollow noreferrer">Airline</a> - Easier to read status line with more useful information</li> <li><a href="http://www.vim.org/scripts/script.php?script_id=3304" rel="nofollow noreferrer">Gundo</a> - Visualize vim undo history as a tree (my favorite, make sure you turn on persistent undo in Vim)</li> </ul> <p><strong>Color schemes:</strong></p> <ul> <li><a href="http://ethanschoonover.com/solarized" rel="nofollow noreferrer">solarized</a> - Great color scheme</li> </ul> <h2>Vim Distributions</h2> <p>Rather than go through the setup and configuration yourself, you can use the following projects to get going quickly with a more IDE like Vim. The two projects below include many of the plugins I mention above:</p> <ul> <li><a href="https://github.com/carlhuda/janus" rel="nofollow noreferrer">Janus</a></li> <li><a href="https://github.com/spf13/spf13-vim" rel="nofollow noreferrer">spf13</a></li> </ul> <p>I recommend you don't use them though. You'll learn much more if you take the time to configure vim yourself and install plugins in a staggered process to learn each one well.</p> <h2>Vim Plugin Guides</h2> <p><a href="https://vimawesome.com/" rel="nofollow noreferrer">VimAwesome</a> can be a good place to browse for Vim plugins and find useful and popular ones.</p> <h2>Vim Patches</h2> <p>In addition to those scripts you may want to look at some of the following patches for Vim. I haven't used them so not sure of the quality but most of them look quite promising. You can view all the patches <a href="http://groups.google.com/group/vim_dev/web/vim-patches" rel="nofollow noreferrer" title="Vim Patches">here</a>, the ones that make vim more of an IDE are:</p> <ul> <li><a href="http://code.google.com/p/codecheck/" rel="nofollow noreferrer" title="CodeCheck">Code Check</a> - On-the-fly code checking (<em>note</em>: <a href="https://github.com/scrooloose/syntastic" rel="nofollow noreferrer">Syntastic</a> is a better choice these days).</li> <li><a href="http://clewn.sourceforge.net/" rel="nofollow noreferrer" title="vimGDB">Clewn</a> - Allows debugging and stepping through the code in Vim using GDB.</li> </ul> <p>With those scripts and patches installed, you should have something in Vim pretty close in features to Visual Studio or Eclipse.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload