[wingide-users] Vi mode: paste position needs some thought

Wingware Support support at wingware.com
Fri Mar 16 09:43:18 MDT 2007

Michael Hipp wrote:
> In vi when you do 'p' for paste it says it pastes if *after* the current 
> cursor position. No prob. Wing does the same but problem is that Wing 
> uses a vertical bar that parks *between* characters while vi uses a 
> block cursor that sits *on* the character. So, in Wing, when we do 'p' 
> it really ought to do the paste *at* the cursor position, else it seems 
> to always put it at the wrong place.
> Example in Wing, screen looks like this:
>    a|bc
> The | represents the cursor position. If you hit 'p' to paste whatever 
> is in the buffer, it ends up looking like this:
>    abPASTEDc
> It appears to have "missed" by one character to the right. Fairly drives 
> me crazy.
> As I don't really want to regress to using a block cursor, is there some 
> way we could adjust this behavior of the vi personality in Wing?

I think our solution will be to implement the block cursor and mirror
what vim does.  Many of the people that have given us vi mode feedback
want it to do the same thing character by character so their "finger
memory" works with Wing.  I can see it's visually confusing as it
stands but I'm fairly sure the finger memory issue is more important
and we'ld be opening a can of worms if we tried to insert cursorize
vim mode somehow instead of using a block cursor.

BTW, cursor positioning in vim is incredibly complex and the same
move operations actually vary in what they do depending on what command
is being applied to the move.  I only noticed that when we got feedback
from long-time vi/vim users.


Stephan Deibel
Wingware | Python IDE
Advancing Software Development


More information about the wingide-users mailing list