Re: Problems with visual block mode operations

I don't think these have been mentioned:

1. A block operation creates an entry in the undo history for every modified line. That's not what Vim does and it's annoying when changing large blocks. However, a repeated block operation can be undone with a single undo.

2. Append is not working properly with '$'. The text should be appended to the end of every line in the block.

As I personally think visual block mode is one of best things since sliced bread I hope these can be fixed.



Re: Problems with visual block mode operations

Hello Ulrik,

I am actually giving the finishing touches to 2.0, which fixes some of the problems there (apart from bringing many nifty features such as hlsearch or proper Intellisense-autocompleted input repetition with '.').

The undo problem, together with all other undo grouping problems (ie, other input commands such as cw), is fixed in 2.0 for all cases with the exception of VB, C# and J# languages in VS.NET 2003. It turns out these language services have a bug which has been fixed in VS2005, and which the C++ langsvc doesn't have even in VS.NET 2003. This disallows wrapping an undo group around input sessions.

On the other hand, I don't understand your point '2'. Can you please detail it more?

I am also a heavy user of visual mode, so I strive to make it as functional as possible. There are many improvements in this area too in 2.0, vim-like proper representation of the actual visual mode selection being the main one.

Best regards,



Re: Problems with visual block mode operations

Hi Jon,

great to hear about the progress of version 2! Now, about point 2. Consider the following two lines:


If the cursor is positioned at the first 'a' and I commit the key sequence

Ctrl-Q, j, $, A, ., ESC,

I expect to obtain the lines:


With ViEmu I instead get:


See what I mean?


Re: Problems with visual block mode operations

Ah, ok, sorry. My fault.

With the current implementation of ViEmu, block selections are handled much better, but the case you mention doesn't work like vim. It instead inserts two spaces after the first line. The reason is that I haven't special-cased out the behavior with $, and given that A should complete lines which are too short (unlike I), it decides to enter the two spaces. I will have to add logic for the special case of $ as the end of the visual block.

Thanks for the detailed feedback!


Re: Problems with visual block mode operations

Yes, it really is a special case, but a quite useful one, I think.

Thanks for the prompt feedback!


Re: Problems with visual block mode operations

Yes, I agree it's useful (even if I don't use it myself often, else I would have probably discovered it earlier!).

I may decide to release 2.0 without this fix, as I'm really about to finish it and 2.0 is already much better, and then fix it for 2.0.1 or so.