ViEmu
ViEmu

ViEmu Blog

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

Archive for the ‘misc’ Category

ViEmu/VS2010 Beta 6

Thursday, June 24th, 2010

Beta 6 is now ready. This will work even after the “expiry” of the built-in trial period for some more time, as the beta proceeds:

http://www.viemu.com/ViEmuVS2010-Beta6.vsix

This is closer to the Release Candidate, hopefully ready in a few days. Here are the main changes:

  • Folding/outlines/wordwrap support (pending gj/gk)
  • Added commands for all key combinations. Now you can map Ctrl-Shift-Alt-Underscore, etc… you also need to go to Tools|Options|Environment|Keyboard and assign the keypress to ViEmu.KeypressCtrlShiftAltUnderscore for VS to route it.
  • End-of-trial-period and license-related messages hopefully fixed

Now we’re off to doing the settings window, the docs, and finishing the remaining little glitches, to try and get to RC1 quickly. After that, the first official release. And after that, we’ll concentrate on all issues when interacting with other popular third-party add-ons, for a new release afterwards.

Please keep the feedback coming.

ViEmu/VS2010 Beta 5

Wednesday, June 9th, 2010

This version addresses the main issues in Beta 4, mainly the “massive-undo” bug that could cause ‘u’ to undo a long chain of edits. It should be much closer to release quality (pending docs, settings dialog and a few more features):

http://www.viemu.com/ViEmuVS2010-Beta5.vsix

Change log:

  • Undo/Redo grouping fixed. ViEmu would undo a lot actions some times, now it won’t.
  • Ctrl-] (Go To Definition) working.
  • Ctrl+Left/Right now work as expected in insert mode.
  • Shift+CursorKey now works as expected, moving cursor and extending VS selection. Pending to make it work in command mode (ViEmu-VS selection integration).
  • Fixed caret shape not reflecting ViEmu mode when switching views.
  • ‘Ctrl-R + char’ now works in input mode (paste from clipboards).
  • Fixed the exception thrown when trying to copy text from VS2008 to VS2010 through viemu y/p commands. Text can now be copied normally.
  • HLSearch now updates correctly when scrolling or changing views.
  • Added ‘Enter License Key’ to ViEmu menu.

We want to get out of beta and release properly as soon as possible, hopefully in very few weeks. “Official release” means not having serious bugs, but we might delay some still-important features to a later release, such as better keyinding management or even folding/regions support. Work on these will start without delay right after the release, but it’s important for us to get to “official” release and finalize all important pieces.

All feedback is welcome.

PS: In case you’re curious, the “massive-undo” is caused by the internal ViEmu undo-grouping mechanism failing to close in some cases, and thus becoming inactive and grouping too many actions together. We now close the undo group on the editor’s lose/gain focus, as we did in ViEmu “Classic”, and this fixes the problem.

ViEmu/VS2010 Beta 4

Wednesday, June 2nd, 2010

Here is Beta 4:

http://www.viemu.com/ViEmuVS2010-Beta4.vsix

Changes:

  • Fixes accumulative slowdown  in insert mode
  • Fixes operation of undo/redo in some cases (not sure it’s all of them though)
  • Initial rough version of hlsearch support

This version is a bit rough, especially hlsearch, but I wanted to release a version without the slowdown, and see if our different handling of undo/redo would fix the difficult-to-reproduce undo problem. So it wouldn’t be worse than Beta3 in any case.
Thanks for your feedback!

ViEmu for VS2010 Beta 3 and other ViEmus 2.5.4

Tuesday, May 25th, 2010

The new ViEmu 2.5 has been available for a while, but I still haven’t emailed all existing customers about it. I wanted to make sure the new customer area was properly tested, that there was usable ViEmu/VS2010 beta, and that the license-key system transition would be as smooth as possible.

Fixing one last minor-but-annoying problem, I have uploaded the new 2.5.4 version of all the ViEmus to the main site. The main fix is that it didn’t properly recognize licenses that had had extra spaces tacked on to the end some or all lines. This seems to happen often with some email clients and gateways out there, so the issue was coming up repeatedly. The new release fixes this minor niggle. So, apart from this, this version is functionally equivalent to the previous one, no real need to reinstall if you have 2.5.3 working fine. There is also a Codekana 1.5.4 release with the same change.

We have also prepared ViEmu/VS2010 Beta 3, with this last fix in license-key recognition, and also adding the functionality to recognize Ctrl-[ as Escape, which several users have requested. Given the new input processing mechanism in ViEmu/VS2010, we had to reimplement this. Here is the link to install the new beta:

http://www.viemu.com/ViEmuVS2010-Beta3.vsix

Once you install it (no need to uninstall previous betas first), you may have to use the “ViEmu->Set Keybindings” to assign the correct command to the Ctrl-[ keybinding. If you want to do it manually to avoid other keybinding changes, you can go to Tools|Options|ViEmu and assign the command “ViEmu.ViEmuCtrl[” to keypress Ctrl-[. Let us know how it works for you.

Finally, I have also added a links to the customer area to the navigation bar at the top, and an article explaining the new licensing system and the reanoning behind it: http://www.viemu.com/new-licensing-system.html.

If all goes well, I will email every customer tomorrow with an announcement of the new available releases, and hopefully it won’t be a support nightmare!

ViEmu for Visual Studio 2010, Beta 2

Saturday, May 22nd, 2010

Once the rubber hits the road things start coming up. So we rolled our sleeves up and started fixing the most glaring issues. Here is a new build of ViEmu/VS2010:

http://www.viemu.com/ViEmuVS2010-Beta2.vsix

No need to uninstall Beta 1 before installing this one.

Addressed issues:

  • Fixed “Out of Memory” Exception in the Solution Explorer Window. It was due to showing the Welcome dialog too early in the VS/WPF start-up process.
  • _viemurc loading could crash and leave ViEmu unloaded
  • Rare, seemingly-random caret-related exceptions in the background (although they could come to the foreground at times)
  • Removed “read-only” attribute from VS files/buffers (not in the file system), required for ex commands and sometimes normal mode keys to work
  • Corrected a few typos in informational messages

We will keep looking into the other issues and prepare new releases. We hope that ViEmu/VS2010 will be “good” in a few weeks, and really “great” in a few months.

Keep the feedback coming!

ViEmu for Visual Studio 2010 Beta 1 ready

Tuesday, May 18th, 2010

So, finally, here it is. It’s a bit rough on the edges but it should be usable:

http://www.viemu.com/ViEmuVS2010-Beta1.vsix

Download it, double-click on the file, and you should be good to go. It will show up in the next session of Visual Studio. It will offer to reassign keybindings to ViEmu, if you want to restore them afterwards, you will need to use VS’s “Reset Settings

Known issues:

  • No hlsearch (yet)
  • No folding/wordwrap support
  • Coexistence with Visual Assist is so-so
  • No Settings dialog available
  • Documentation isn’t updated
  • Ambiguous multiple-key mapping processing doesn’t automatically time out

These other features will be implemented in a few weeks (our estimation of how long it will take). There are no known actual show-stoppers, if there are any, let us know and we will try to fix it ASAP to allow you to use it.

They used to say that the good thing of moving from VHS to DVDs allowed you to buy all your movie collection all over again. The good thing about re-implementing ViEmu in the new VS architecture, using managed code and .NET instead of native code and COM is that we get to re-implement all features again and re-fix all problems with other 3rd party editions.

This beta uses the new license-key system, you can go to http://www.symnum.com/customer-area and use the password-recovery mechanism to get your new-style license key (use the email address you used for your purchase ). The beta will work all licenses bought during the last year, and it will work in trial mode for 30 days in all other cases. If you buy ViEmu/VS now from the online store, the license you get will be valid for both ViEmu/VS “Classic”and for ViEmu/VS2010.

In a few days we will have the mechanism in place for customers who bought ViEmu/VS a year or more ago to buy the upgrade. This upgrade will also include one more year of full support and free upgrades, for both ViEmu/VS “Classic” and ViEmu/VS2010. The price will be US $29. We feel it will be great value for money at that pricepoint, and we hope upgrading won’t be too steep for anyone.

All feedback is welcome.

New student and non-profit/educational pricing

Sunday, November 22nd, 2009

I’ve just updated the store page announcing the new student pricing (50% off), and the new educational and non-profit organization pricing (25% off). The discounts were 20% and 10% before. Especially for students, and given the current general financial climate, I’ve come to think a price of $49 makes much more sense. Hope it will be well received!

I had already been giving this larger discount to students and non-profits for some time, so I doubt anybody feels unfairly treated with this change. If you do, be sure to get in touch and I’ll see how we can fix that.

NGEDIT blog post with info on the next ViEmu steps

Thursday, September 24th, 2009

I just posted on the NGEDIT blog:

New Codekana web site, preview of the J1CK Twitter client, and next steps

It mainly talks about about the new Codekana web site and the J1CK Twitter mobile client, but it also includes some information on the next steps for ViEmu.

As a summary, the main next steps are the new Symnum/NGEDIT customer portal, a ViEmu 2.5 release with some new features, and ViEmu for VS2010 after this. I’m really eager to finish the infrastructure improvements I’ve been working on lately, and get back to providing new useful features for ViEmu!

A Vim and ViEmu mapping you *really* can’t miss – never type :noh again!

Tuesday, June 16th, 2009

Today, I noticed a mapping Tomas Lundell had posted on the ViEmu forums two months ago. Here it is in all its glory:

:nnoremap <esc> :noh<return><esc>

It’s the kind of mapping that, when you read and understand, it makes you think: “how can I not have thought of this before?”, and even, “how come this is not all over the net?”. I have added to both my _vimrc and my _viemurc, and I’m sure it will be with me for many years to come. The kind of mapping I’ll never forget. And this is from someone who <em>doesn’t</em> like to customize his editor(s) too much – my _viemurc is only5 lines, and my _vimrc is a meager 24.

What does it do? I will explain it in detail for those of you who don’t have all the background. If you don’t know what it does, then this post contains more than one valuable lesson for you.

Its function is related to vim’s “hlsearch” feature. When you search for a string in vim, either with / or ? (forward or backwards), or even with :g or :s, if hlsearch is set (“:set hlsearch”), vim will highlight all instances of the string. If the pattern was a regex, all sequences that match will be highlighted. This, as you can imagine, is very useful. It’s actually the “inspiration” (ahem) for one of the features of Codekana, which adds this functionality to Visual Studio’s native search. Bringing vim features to poor souls who depend on regular editors is a surefire way to improve their editing experience… But now on to the mapping.

Once you’ve seen all matches of the string, and you have done what you wanted to do, those highlights become an annoyance. And this is where the problem comes — the vim-standard way of removing the highlights is typing the “:nohlsearch” ex command. You can abbreviate it to “:noh”, but that’s about it. There is an alternate way: just search for a string that doesn’t appear – say, “/asdfgh”, which will remove the highlights. But this is ugly.

So the hlsearch feature is great, but it becomes an annoyance after using, and the annoyance is cumbersome to get rid of. Ouch.

Different people solve this in different ways. You can assign a keybinding to the :noh command. I tried to map it to “\”, which is unused by vi/vim’s keymappings, but couldn’t train myself to use it. Someone suggested “<alt-n>”, which is kind of nice because ‘n’ and ‘N’ are the vi motions for “find next” and “find previous”, but I just forgot to use it. I have always just kept using :noh every time. Until today.

The new mapping does magic. It maps the <Esc> key in normal mode to remove the highlighting (:noh<return>), and also to keep doing the typical function of <Esc> (by default, in normal mode, it will just beep). This is amazing. It’s reminding me of what Python programmers say about things being “pythonic” or not. This mapping is totally “vimmic” — it fits with the rest of vi/vim editing, it doesn’t remove any other functionality of vi/vim, it doesn’t even gobble up other keys which could be used as map-leaders (this is another advanced topic), and it is memorable and discoverable (I won’t forget it, because I will be reminded every time I pressEsc).

I tweeted about it (I’m very active inTwitter lately, and liking it a lot — I’m at http://twitter.com/jonbho). Several people are already retweeting it, even if I didn’t add any explanation (I will now tweet a link to this). I hope this will become popular and reach every vim user, because it’s really good and useful.

It’s shameful that I didn’t really pay the original post the proper attention then, until another person commented on it yesterday. My apologies, Tomas! And one thousand thanks!

Although this forum thread hasn’t been very active, just this has made it worthwhile that I added the sticky topic for tricks at the forum:

http://www.viemu.com/forums/viewtopic.php?pid=2456#p2456

And I hope this forum thread and the creativity of Vim and ViEmu users will generate more gold like this!

[[Update from Tomas Lundell: he wrote in with this comment:

Thanks for the kudos. However, much like everything else in the world, I didn’t come up with it. Any glory should go to Shai of Colemak (www.colemak.com), whose Vim mode for Colemak includes that mapping.

/ Tom]]

Work underway in ViEmu for Visual Studio 2010

Sunday, June 14th, 2009

I’m already working in ViEmu for VS2010. It’s a lot of work, because they’ve totally replaced the editor, but I’m confident I will be early for the VS2010 release. Also, I’m excited the new editor and extensibility model will allow me to offer an even better experience and cool new features.

I’m also working in Codekana for VS2010, but ViEmu comes first.

I’m posting more details at the NGEDIT blog:

http://blog.ngedit.com/2009/06/02/started-working-on-viemu-and-codekana-for-vs2010/

http://blog.ngedit.com/2009/06/15/first-baby-steps-of-viemu-in-visual-studio-2010/

And I’m tweeting regularly every step of the progress, asking for questions, etc… you can follow all the gory details at http://twitter.com/jonbho.

By the way, I will of course keep supporting and improving ViEmu for the “older” Visual Studios indefinitely, and I do plan to implement improvements that will apply to both versions. The vi/vim emulation core is a shared codebase, so any emulation improvements go to all the ViEmus. Anyway, there will indeed be improvements that will be VS2010-only, given the possibilities the new architecture provides. I do think VS2010 will be a hit, much more so than previous VS versions, so most people will end up moving, but of course there’s always a lot of code that won’t be migrated, and we’ll be using older VS’s for years to come!


Highlights

ViEmu: vi/vim emulation for Visual Studio, Word, Outlook and SQL Server:
ViEmu
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