I finally found some time to install and test ViEmu, a vi emulation add-in for Visual Studio released two weeks ago. In case you don’t know what I’m talking about, this ‘vi’ thing is a very popular editor for Unix and Linux and ViEmu emulates its input model within the Visual Studio environment.
Although I use vi (or vim to be more precise) quite often on our Linux servers and within Cygwin on my workstation, my vi skills are unfortunately quite limited. So, besides testing ViEmu itself I tried to learn some new vi commands. The installation of ViEmu was painless. Including download, the installation and integration into Visual Studio took only two minutes. Once installed, I had an additional editor to choose from via the “Open With…” dialog when right-clicking on a source file in the Solution explorer:

Open With dialog displaying ViEmu
After opening some source file, I noticed the different cursor, a rudimentary command line at the bottom left and, of course, the vi input model. All input commands I knew worked as expected and although ViEmu’s documentation is quite brief I was able to learn and apply a few new commands very quickly. To summarize, ViEmu looked great so far.

ViEmu editor within Visual Studio (larger image)
The first problems arose when I tried out the command line of ViEmu. To put it short, nearly nothing worked. Be it jumping to a specific line of code or quickly substituting a string, ViEmu didn’t seem to support it. And indeed, it turned out that the current version of ViEmu only provides an absolute minimum of command line functionality. But since this is one of the major features of vi in my opinion, I lost interest in ViEmu and stopped testing.
However, ViEmu looks promising and I will definitely retry a future version if the command line functionality will be extended.




4 Comments
Hi Tobias,
Thank you very much for reviewing ViEmu. Indeed, ViEmu only emulates the vi/vim input model by now, and not the ‘ex’ command line. Only a few common shortcuts like :e, :w, :sp and a few others are supported, to help with the most severe cases of "finger memory". Emulating the "input model" with NORMAL/INSERT/VISUAL modes was the most urgent need, although I realize command line emulation is a very important feature to bring in the full power of vi/vim into VS.
I’m currently preparing 1.1 with some important integration improvements and a handfull of bugfixes – it should be out later this week. Command line emulation is slated for a later version.
Best,
J
Hi J,
I don’t know if you know this already, but according to your documentation, Ctrl+v should enter the visual block mode. The problem here is, that this shortcut is already assigned to the paste functionality of Visual Studio and so the visual block mode doesn’t work (here). However, looking forward to try a future version of ViEmu.
Hi Tobias,
Although it’s noted in the documentation, I’ll have to make that FAQ #1 – you have to remove the VS shortcut of ^V=Paste in Tools->Options->Keyboard for ViEmu to actually get the keystroke. If you don’t want to, and in that specific case, ^Q does the same thing as ^V and is usually not mapped to anything.
Best wishes
Ah ok, thanks for the info!