ViEmu/VS: vi-vim editing
for Microsoft Visual Studio

Frequently Asked Questions

These are the most common questions users ask about ViEmu/VS, hopefully yours is answered below. If it isn't, don't hesitate to ask us by e-mail.

If you want to read the Frequently Asked Questions on ViEmu/Word&Outlook, please click here.

If you want to read the Frequently Asked Questions on ViEmu/SQL (ViEmu for SQL Server 2005 and 2008 Management Studio), please click here.

ViEmu removed a keybinding I usually use, and I've tried to restore it, but it sometimes gets removed again!
(ViEmu/VS "Classic") The first time ViEmu is run, it scans the active keybindings for clashing keys, which it removes for best vi/vim emulation. It also stores the list of removed keybindings, and uses that list to restore them every time it is deactivated (either in the Tools|Options|ViEmu preferences page, or using Ctrl-Shift-Alt-V). Once ViEmu is activated again, it will remove the same keybindings to regain the initial state.

Given this, it may be clear what's happening: you have restored the binding, but ViEmu will promptly remove it the next time it's re-activated after a deactivation. The way this can be fixed is by removing the keybinding from ViEmu's list of saved keybindings. You can find a description of the necessary steps here.

ViEmu doesn't work with VS2005 or VS2008 Express edition. It simply doesn't load. Are there any plans to support these versions?
Actually, Microsoft removed the ability to load external packages or add-ins from the Express editions of Visual Studio. Most probably, this is in order not to detract from the appeal of the other, non-free, editions of the product. Several people have already expressed interest in a version of ViEmu that will work with the Express editions of Visual Studio, but, unfortunately, there is no way to do it. Sorry.

Is ViEmu compatible with other 3rd party editor enhancers for Visual studio?
In most cases, yes. Check the compatibility page for details.

ViEmu doesn't repeat some input sequences properly with '.' (eg, automatic-closing-tags in HTML files)
Starting with 2.0, ViEmu employs a 'buffer sensing' technique to detect which changes are done to the buffer while in insert mode. It then tries to correlate them with what has been input, and generates a 'virtual input session' that will be used when '.' is pressed to repeat the input. This is no easy feat, especially given that the language services responsible of Intellisense and autoindent perform all kinds of weird edits to achieve their result - and they are different for each language supported in Visual Studio. Although it is pretty smart, it still doesn't understand every single thing that it may happen - it actually misses on characters inserted to the right of the cursor, such as HTML automatic closing tags or Visual Assist's automatic closing braces/parentheses. The plan is to support these in a later release of ViEmu. Unfortunately, the only workaround currently available is deactivating the automatic closing-tags or closing-braces feature.

I registered the product and received a registration key, but ViEmu still keeps nagging me about licensing
You should have received an email with a license key at the bottom. The license key is the whole text between dashed lines, not only the "random" characters, which are the cryptographic signature. You need to copy everything, starting with your name and email, and including up to the last "random" character (which is always a "=" sign), and paste it into the license key entry dialog. The "expired" and "welcome" notices have a button to bring up this dialog, and you can always go to ViEmu settings (Tools|Options|ViEmu) in ViEmu/VS "Classic", or ViEmu|Enter License Key in VS2010.

In vim, when you enter replace mode with 'R', backspace restores the last overwritten character. ViEmu simply deletes it. I miss vim's behavior!
The problem here is that Intellisense integration requires behaving in the same way as the original Visual Studio editor - the behavior was already emulated, but it broke Intellisense! Intellisense compatibility took precedence.

I tried [insert favorite vi/vim feature] and it doesn't work!
Please, tell us so that it can be taken into account in new versions. ViEmu is getting better every week thanks to suggestions from users. Alpha/beta versions are usually made available to customers and users who are evaluating the product (check the forums for the latest builds), with a much shorter turnaround than waiting for the next official release. Thus, if the feature you are asking for is an oversight which is simple to implement, chances are you may have it available in a short lapse of time.

The installer failed in the last moment with 'Required Elevation'
(ViEmu/VS "Classic"). The ViEmu installer must launch Visual Studio with a special parameter as the last action, so that VS will be able to scan all the new elements and update its internal caches (this also happens after uninstallation). In some cases (usually under Vista and/or Windows Server 2008), if not running as an Administrator, Visual Studio sometimes complains with the following message:
The operation could not be completed. The requested operation requires elevation.
You can complete this step manually, by starting a command prompt, navigating to the main VS IDE directory (typically "C:\Program Files\Microsoft Visual Studio 8\Common7\IDE", change the '8' for '9.0' for VS2008, and to '.NET 2003' for VS.NET 2003). Once there, this is the command that will perform the required step:
    runas /env /user:Administrator "devenv.exe /setup"

Why such a product? Getting back to 70's text editing?
I guess you're not a vi/vim diehard. Granted, it's not for everyone, but for many people, once past the initial 2-3 weeks learning curve, which is steep, it becomes much more powerful and quicker than regular "arrows" style text editing. After months, your brain actually gets hardwired and it takes effort to not use it. This product is for such people (which, you can guess, includes myself). Read this if you want to know how and why I got started with vi-vim myself less than two years ago, and hopefully it will make some sense.