vi mode - experimental build

Comments

I agree that there is no "correct" behavior in this case, because vi was designed for use without a mouse or shift-arrow combinations. I experimented with both options when writing the emulator and in the end settled for it behaving like a windows editor when using mouse or windows-style shift+arrow combinations (which is also how the vi plug-in for Visual Studio Code works). I think it makes sense because the biggest use-case for the mouse and shift+arrows is not those already intimate with vi, who would instead type something like /bob, but users transitioning to vi, whose would use the mouse and shift+arrow combinations (followed by overwriting with new text) out of muscle memory. Being in that category myself, I found the other behavior so annoying that I would never attempt to transition.

Bear in mind that visual mode works as in vim, so if you type vwy, that will yank a work.

As for what folks intimate with vi would do, I think the jury is out. I've been using vi since transitioning from ed in the late '70s. On a dumb terminal (emulator since no actual dumb terminals exist anymore) connected to a unix system, yes I'd type /bob. In VS, I use ReSharper's ^T navigation a lot but just as often, if I see a bit of code I want to edit I'll navigate with the mouse.

I'll keep a more careful eye on the differences between gvim, VsVim and the LINQPad emulation. Playing some more it appears a single click navigation is the same so maybe some of my issue is caused by double clicking to select vs simple navigation.

should select the current line and all following lines, but it misses the last line of the file. Using the mouse to select text, vi thinks I'm in insert mode when I hit y for yank it instead overwrites the block with a y

I downloaded the zip version of Linqpad 5 to take a look at the vi emulator which is really nice. When I disabled vi in Preferences, the soft and glassy edges of the Execute, Cancel buttons and Language, Connections boxes didn't change back to the original glassy style with curved buttons. I tried deleting the Linqpad files from %appdata% and %appdata% Temp but that didn't reset the style. Is there another file that I should delete or config file that I change to reset the look of the buttons to the glassy look?

Behavior of a number followed by 's' appears to deviate from vi (gvim used to verify).

If I have a string say "spork" and I position my cursor on the "s" and type "3s", vi deletes the first three characters and adds in whatever I type until I hit . So using "spork" above, typing "3sfred" leaves me with "fredrk".

In the LINQPad emulation, the 1st character is replaces with "fred" three times leaving me with "frefredfredork". Well actually it did something a little stranger (the "p" in the original string and the first "d" in the replacement both got lost). Regardless - the vi behavior is what I'm expecting.

Still loving the vi emulation. Now if I could just get it in outlook my life would be complete