ViEmu Blog

A blog about all things ViEmu
the one true editor
since 2005!

New ViEmu/VS version 3.11

December 13th, 2020

I’ve posted a new version of ViEmu/VS, 3.11, which includes two main changes:

  • It improves the start-up of ViEmu under the asynchronous package initialization system in VS2019. This means ViEmu will work well in files loaded before ViEmu itself is loaded. User experience will be so much better, apologies for not improving this earlier.
  • Finally, ex commands on a range of lines with a range-start line number higher than that for the range end, will not ask “Backwards range given, OK to swap (y/n)?” ViEmu does this just to fully emulate vim, but it is useless, so swapping is now automatic. Should have done this earlier too.

Here is the direct link to download it, or just go to the main page and download it from there. It will work with your existing license if you purchased your license or renewed support at some point between December 12, 2019 and now; otherwise, you will need to renew support. Hope you enjoy it!

ViEmu 3.10 for Visual Studio is out

December 17th, 2019

You can head over to and download the latest ViEmu for Visual Studio 3.10, available in two different downloads, one of them for VS 2015, VS 2017 and VS 2019, and the other one for VS 2013. These are the main improvements in this update:

  • Fixed some weird interaction with Resharper that would make Esc not leave insert mode during R# autocompletion. R# users will be happy to have a reliable Esc key again.
  • Updated ViEmu to use the “async package” mechanism, so that Visual Studio will stop complaining about usage of deprecated interfaces or about ViEmu slowing down VS starting. This is only possible for VS2015 and later, thus the need to split the version in two separated builds for different ranges of VS versions. Not that ViEmu is not available in a number of separate downloads already, going back all the way to VS2002. Number of binaries showing how time flies!

Here’s to a fresh and interesting ViEmu 4.0 some time during 2020…

ViEmu 3.9 for VS2019 is out

April 6th, 2019

Visual Studio 2019 was released a couple days ago. And there is a new version of ViEmu, 3.9.0,  supporting it. Apart from working with the new Visual Studio, it also includes optimized code that handles pasting text. In most regular pasting cases, this will make it much faster. You wouldn’t notice it for small amounts of text, but if you are pasting a thousand-lines block of text, the difference is noticeable. Not that I’m advocating copy and pasting such huge amounts of code 🙂

You may see Visual Studio 2019 complain about ViEmu using a deprecated interface, it is actually the synchronous loading of the plugin itself (“Package”), which it seems to be discouraged by Microsoft now so that VS will start up faster. I am not a big fan of how they are doing this, but in any case, I will switched to the new recommended asynchronous package loading in a new version in the near future. Meanwhile, using ViEmu as is should not be a problem or cause any delay when starting up Visual Studio.

You can download it from the VS gallery or right here: You will need active support as of April 1st for it to work for you. You can either renew support if it lapsed, or just keep using an older version.

Hope you enjoy it, and let me know if anything acts up!

ViEmu 3.8.1 on all editions (and farewell, Xcode)

January 31st, 2019

After releasing ViEmu for Visual Studio 3.8.0 last year on the Visual Studio Gallery online (which ensured automatic updates), I have built and released the new ViEmu 3.8.1 in all editions here on the web site. The VS version will go to the gallery too. It does not incorporate too many things: the Visual Studio version avoids an exception warning that was being shown by VS when opening a project with open text files, which didn’t have any effect beyond you having to click “Ok”, but was annoying anyway. Also, all editions incorporate an improved emulation of :s commands, such that they emulate empty search strings handling  better (:s//xyz will now use the last search pattern for the substitution command).

In the sad news department, I have officially stopped ViEmu support for Xcode. It’s especially personally sad because my main system in the last few years has been a MacBook Air, and the ViEmu I was using the most, ViEmu for Xcode. Each new version of Xcode makes it harder and harder to keep things working, from enforcing ever stricter security mechanisms, to actually rebuilding the whole text editor component in Swift, which is much harder to intercept than Objective C. There is Xvim, which I haven’t actually tried, but plan to try at some point – from outside, it does seem a bit rough on the edges. I have some ideas on how to get ViEmu emulation back on Xcode in the future in a more convenient way, but this needs a lot of work, so it will have to wait a bit.

[UPDATE: I forgot to describe the issue with VS2017, which I meant to. Here it is: the initialization ViEmu needs to do when a new text view is created (for example, when a source file is opened), includes retrieving the font size at the cursor position, to create a vi/vim-like block caret of the right size. Starting with a recent update of VS2017, the view is not fully initialized when this “TextViewCreated” notification is sent out to plug-ins such as ViEmu, and thus some operations can fail. ViEmu does have a try/catch block around the whole thing to avoid issues, but even then, VS decides to report it to the user. The new version checks whether the view is fully initialized (basically, whether the formatted text info is actually available), sidestepping the annoying warning.]


ViEmu 3.7.6 for VS2017

January 30th, 2017

VS2017 seems to be going through a lot of changes on its way out from RC status to final version. In one of the latest changes, it turns out there is no way to make an installable package that works with VS2013, VS2015 and VS2017 without VS2017 showing an ugly compatibility message to the user. So, to help with that, here is a VS2017-specific installer VSIX package. Just download and double-click to install:

Other than catering to VS2017’s installer requirements, this package brings nothing new over 3.7.5.

ViEmu 3.7.5: VS 2017, new SQL Server 2016 installer, and Word&Outlook high-DPI support

January 4th, 2017

Happy new year! To celebrate, I have just uploaded ViEmu 3.7.5, in its Visual Studio, SQL Server 2016 and Word & Outlook editions. Here are the changes:

  • Visual Studio 2017 RC is supported. This may even work right out of the box with the final VS2017 release, but if not, I will revise it when VS2017 is out.
  • Having SQL Server 2016 Management Studio version 16.5 and VS2017 RC installed side by side made the ViEmu/SQL 2016 VSIX not install, so I built a new MSI-based EXE installer.
  • The command line and output “overlay” windows in ViEmu for Word and Outlook were too small in high-DPI displays, rendering text hard to read. Now they get the right size for the active DPI setting.

That’s all. You can download them from the main download buttons at, and their installers will upgrade your current version. You need active support as of January 1st 2017, head over to the Customer Area if you need to renew it.

(BTW, this comes after ViEmu for Xcode 3.7.1, which I published a few weeks ago without announcement, providing compatibility with the latest Xcode 8.2.)

Hope you enjoy it all!

ViEmu 3.7 released: finally search offsets, plus support for Xcode 8 and SQL Server 2016

November 8th, 2016

Hello everyone, ViEmu 3.7 is finally ready and available from download from As the major improvements, all ViEmu editions now support the full vi/vim search offsets syntax and semantics: for example, you can add “/e+1” to the end of a search, and the cursor will move to the next character after the match. Even multiple-step searches work: “/abc/+10;?def?e+1” is a single search involving the following steps: search forward for ‘abc’, go to the first column 10 lines below the match, search backwards for ‘def’, then position the cursor in the character right after the ‘f’.

This version also adds support for Xcode 8 and for SQL Server 2016, both of which have required quite a lot of work.  It also has had work done to ensure ViEmu for Visual Studio works better with Visual Assist. Head to the ViEmu home page to download them:

In order to use them, you need support active as of November 1, 2016. If your support has expired and you want to use the new versions, you will need to visit the customer area and renew support, which will allow you to use these versions and any new ones released during one year from now.

Hope you enjoy it!

(And now off to checking how ViEmu works with the latest VS15 preview…)

ViEmu 3.6 available: support for Visual Studio 2015, Xcode 6.4 and 7.0 beta 5, better % emulation

August 20th, 2015

ViEmu 3.6 is ready. Main points:

  • Visual Studio 2015 support, has been tested for a few weeks without issues
  • Xcode 6.4 and Xcode 7 support (tested with 7.0 beta 5, the latest available version from Apple as of today)
  • Improved the % motion to navigate #if/#else/#endif lines and /* C-style comments */like vim, across all editions

Here are all links:

And versions for older versions of all host apps:

You need support active as of August 15, 2015. If your support has expired and you want to use the new versions, you will need to visit the customer  area and renew support, which will allow you to use these versions and any new ones I release during one year from now.

I’m very happy to be using the new automated build & deploy system to streamline producing a new version. A full new version across all editions after only 2 months is a kind of new record, yay 🙂

VEmu 3.5 available: it/at motions, Xcode 6.3, SQL Server 2014

June 25th, 2015

So ViEmu 3.5 is ready after a few months of work. The main new functionality across all versions are it/at xml tag objects (e.g.: type “dit” to delete the contents between <abc> and </abc>). You can download it from the main download links at, or use the following links:

And versions for older versions of all host apps:

As you can see, there are a ton of builds maintained: 9 in total, across two operating systems, compiled using 6 different IDEs/compilers, and supporting dozens of host application edtions, some of them very different across versions. As you can imagine, the build system and other scaffolding is quite tricky. And here is the highlight for this release: I have finally managed to fully automate the build process of the whole line-up of ViEmu versions. It’s taken me weeks to months, but from now on, I will be able to tag and build a new version for all editions with a tiny amount of manual work. Implementing features will take the same time as it always did, but since now 95% of the time I put in can go to improving ViEmu rather than mind-numbing manual processes, I should be able to produce new versions more frequently.

Hope you enjoy this!

PS: What things from vi/vim do you miss the most in ViEmu? Especially core emulation features are the most interesting to me, since they make their way into all editions of ViEmu and benefit the most people! 

PPS: Next stops: Xcode 7 and Visual Studio 2015. 

ViEmu for Xcode 6 available

October 9th, 2014

A few weeks after iOS 8 is officially released, here is ViEmu for Xcode6 available:

You will need to have support active as of September 28, 2014. If you purchased your ViEmu/Xcode more than a year before that, please log into the customer area at and renew support (use the password recovery mechanism with the email address you used to purchase ViEmu in order to gain access for the first time).

Happy vimming in Xcode!


ViEmu: vi/vim emulation for Visual Studio, Word, Outlook and SQL Server:
See where ViEmu customers are around the world:
Map of ViEmu customers around the world
Hear what others are saying about ViEmu:
ViEmu testimonials
Learn vi/vim easily with this cheat-sheet and tutorial:
Vi/vim Cheat Sheet and Tutorial
Read why vi/vim editing is the killerest:
Why vi/vim editing?
Discover ViEmu's sister product, Codekana:
Codekana outliner and syntax highlighter