Vim Tips Wiki


List of wiki tools for my own purposes since Wikia seems to continually change the interface:

Me and my Vim[]

Hi there! My name is Ben Fritz, and I started using Vim around June 2007. I was hooked immediately. I previously used Notepad++ as my editor of choice, but it just can't compare to Vim. I mean, not at all. Notepad++ is a decent editor...I prefer it over many other highly acclaimed editors such as UltraEdit. But, Notepad++ (and pretty much all similar editors) aren't even in the same league as Vim. The limitless customizability, the modal editing paradigm, the speed and efficient use of system resources...I really can't picture myself using anything else ever again.

I'm a bit unique in that I use a Dvorak keyboard layout, but have absolutely nothing in my vimrc file to map keys, etc. for it. I had been putting off trying Vim for a long time, because some people told me it would be really hard to learn, since it was designed for QWERTY. As it turns out, I think Dvorak made it easier to learn Vim. Almost all the commands are simply mnemonic letters - 'a' for append, etc. The only ones I've found that aren't are the movement commands: hjkl. Dvorak actually helped me on these commands. Up and down are with the left hand, and right and left are the right hand in Dvorak. This separation lessened the learning curve. In addition, to move around, my fingers can stay in the normal typing position (although not on the home row) instead of shifting my right hand over by one position to have all four fingers on the movement keys. I've found that using Dvorak does change my usage of Vim, however. I use a lot of commands that others probably don't, just because they are easier to reach. For example, on Dvorak, the _ is on the home row. I use it all the time as a replacement for ^.

I tend to use Vim first, and plugins come second. I'm fully comfortable editing with an unconfigured Vim, I just obviously prefer it with my customizations. The plugins I do install and use are almost entirely (with one notable exception) small and powerful enhancements of existing functionality (like characterize), or fit so well with existing functionality that I sometimes wonder why they aren't built-in (like surround), or make complicated built-in features easy (like gundo).

The notable exception I mentioned, the only plugin I use regularly that is big and bulky and does a bunch of stuff Vim doesn't come close to doing on its own, is Eclim. In this case, I needed a way to easily navigate my code projects in Vim. ctags doesn't go far enough, and cscope is old, broken, and unmaintained (one bug in particular causes it to miss something like 1 in every 4 function calls in my project's codebase at work). Eclipse has the required functionality, and Eclim lets me use it in Vim.

I maintain a handful of utility plugins on, but you probably won't notice them very often. None of them are big or flashy. I also maintain the official :TOhtml plugin distributed with Vim, and contribute bugfixes to the few plugins from others I use as I find them.

Where you'll see me[]

I try to be fairly active on this wiki, where I am a sysop, and I'll also sometimes post to the vim_use and vim_dev mailing lists. Occasionally you may even see me in #vim on Freenode.

Featured tips – please participate![]

A while ago, I started the featured tip page that is linked from the main page. It seems to have been a success, but it sure would be nice to see some more involvement!

To do[]

These are mainly reminders to myself, but someone else can feel free to step in and do them, or give me suggestions. I'm pretty busy so it will probably be a while before I can find time for all of these.

Read and include somewhere:

On the wiki:

Off the wiki:

  • Make patch for optwin.vim that doesn't switch windows (use getwinvar and getbufvar instead)
  • Make patch for syntax/perl.vim to fold blocks that do not meet the exact coding style of the maintainer, and highlight as many quote-like delimiters as possible in regexes, etc. I'm really annoyed that perl files that do not match the coding style of the maintainer are highlighted and/or folded improperly. Done: see patch, but needs to be completely redone for new version of the script in v7.3.

Maybe sometime:

  • Re-work Syntax folding of Vim scripts to make fold groups contain built-in constructs instead of vice-versa. The vimNoFold cluster is nice, but it is growing out of control.
  • Vim command line options tip?