VIM emulation layer for Visual Studio

(174) Review
Visual Studio
2013, 2012, 2010
Download (192,758)
E-mail Twitter del.icio.us Digg Facebook
Add to favorites
Reviews (174)
Q and A (198)
Sign in to write a review
Sort by:

by byte1918 | July 22 2014

It's the first extension I install in Visual Studio. It's a must have if you ever liked working with VIM. Thank you Jared. Awesome!

by Nathan Friend | July 08 2014

Very impressive extension.

by Matthew199 | July 03 2014

Simply fantastic, how have I gone so long not knowing this even existed! Thank you so much...

by Vinod Pankajakshan | June 27 2014

Vimming in Visual studio is simply mind boggling.. thank you for making this happen Jared Parsons.

by Porges | June 19 2014

by feverforce | June 12 2014

Awesome tool! Can't use VS without it.

by Iain Ballard | June 09 2014

One of the best Visual Studio extensions available. Along with R#, it's one of those "Wouldn't use Visual Studio without it" add-ons.

by Galen Elias | May 24 2014

This is extremely well done, I can hardly tell I'm not in Vim. Would be nice to have a bit more configurability, but overall this is great!

by Joe Egan | May 20 2014

This is always the first Visual Studio extension I install - could not imagine working in Visual Studio without it. VsVim is rock-solid and simply allows me to edit code more quickly.

For the uninitiated (or the Vi-traumatized):

1) It does not take comprehensive knowledge of Vi(m) commands to be much more productive with this extension (or Vi(m) generally). Basic Vi commands (http://www.cs.colostate.edu/helpdocs/vi.html) pack a lot of punch.
2) Yes, I am quite familiar with comparable Windows keyboard shortcuts for many things I do Vi-style using VsVim - and find myself seamlessly interleaving them with Vi(m) commands; TMTOWDI; but Vi is everywhere (including Visual Studio thanks to this awesome extension) and reduces reaches for my mouse and contortion on my keyboard more than anything else I have tried over 20+ years of nerdery.

Highly recommended!

by HoangITK | May 16 2014

I love it!

by Z Sun | May 13 2014

Very cool plugin, definitely made Vim users more productive in Visual Studio.

by Matt Winegar | May 07 2014

Sure, maybe I am using the wrong name for the feature (its really just renaming, not refactoring). In VS, if you highlight (select) a variable name, on the declaration, and type over it with a new name, an icon appears that you can click on to open a menu that says "Rename <old name> to <new name>". Then if you click that, VS updates all of the references to this variable to the new name.

Also, you mentioned C#, which I haven't tried this in. I noticed this in VB, which is what most of the code I am working with is written in. This is not resharper or a similar plugin, as I do not have these for VS 2013 (still vanilla on that).

I don't have to do the renames that often, so I can work around for now by temporarily disabling the plugin and re-enabling when done, with VS restarts. I wouldn't do this for small local variables, but for properties, etc. of classes that are referenced multiple places, this might still be the quickest way, as a workaround.

JaredPar MSFT May 07 2014
| Edit |

Ah, I didn't think about trying that in VB. I've played around with it a bit and I have a theory about why the rename refactor doesn't get hooked up after a select + edit. Going to look into this

by Thumbmunkey | May 07 2014

by Mateusz Stepniak | May 02 2014

Let the Vim force be with you
- in Visual Studio too!

by Martin Rykfors | April 23 2014

I really enjoy using this plugin and the author is doing a superb job maintaining it and responding to bug reports. A great opportunity to learn Vim!

by bumblebeeman | April 22 2014

by ovalsquare | April 11 2014


by Pål Fossmo | April 10 2014

by mwbrady68 | April 05 2014

by James Hart - LegacyTech | April 01 2014

Well done Jared! Now I feel right at home - you saved me a lot of frustration.

1 - 20 of 174 Items   
Sign in to start a discussion

  • REG 0
    3 Posts | Last post June 10, 2014
    • Typing in :reg 0 in command line gives this error:
                    Trailing characters
      Would you be able to support showing selected registers at once in the future like VIM does?
      For example:
                       :reg a b c
    • Also,
      :reg " for the unnamed register shows the whole list, but should only show the " register. Typing in just :reg to show all registers works properly, I have the latest version installed, thanks.
    • Thanks for reporting the issue!
      Right now this feature isn't supported.  Only :reg without options is actually implemented.  The reason you are seeing the different behavior for :reg " is that the parser is interpreting " as a comment and hence just parsing out :reg by itself.  
      I filed the following issue to look into this
  • Support for inner tag block command?
    2 Posts | Last post June 03, 2014
    • It doesn't seem the "it" command works with VsVim (eg: "dit" to delete everything within an html tag).  I noticed it does work in sublime text's vim emulation.  It would be a much appreciated feature!  Great work btw, I love the plugin!
    • Support for "it" is being tracked by the following issue
      I'm hoping to get that into the next release of VsVim.  
  • Visual mode disappears when moving cursor
    2 Posts | Last post May 26, 2014
    • A lot of times the visual mode __shift + v__ disappears if I press (or keep pressing) hjkl or Ctrl+d (page up) or Ctrl+u (page down). This can get quite frustrating. If you can reproduce this bug, would appreciate a fix for this.
    • I've tried to reproduce this and I'm unable to do so.  Is there a particular file type or size that this reproduces on more often? 
  • Backspace not working in Insert Mode?
    2 Posts | Last post May 26, 2014
    • Hitting the <backspace> button on the keyboard whilst in INSERT mode does not delete the character.
      Any help would be appreciated.
    • Sorry you're having an issue.  The most likely cause of this is VsVim is picking up your _vimrc and it has an insert mode mapping for the <BS> key that VsVim can't handle.  The easiest way to test this is to run :imap and see if the <BS> key is mapped.  If so the quick fix is to run :imapc
      Long term the fix is to add a _vsvimrc file in the same location as your _vimrc file.  VsVim will prefer this file and hence not read in the mapping. 
  • <C-r> No longer works in the commandline
    2 Posts | Last post May 22, 2014
    • <C-r> still works in the document as redo, but it no longer works in the commandline. Before I realized <C-r><C-w> wasn't implemented, I tried to use it. <C-r> kept giving me a cursor in the text, but I was unable to yank and paste a whole word as intended. I tried it repeatedly and in the process somehow managed to completely disable <C-r>. Now, <C-r> does almost nothing and I can't even paste from a register into the commandline. It does insert an invisible, width-less character into the commandline, but this has no effect that I've noticed.
      I tried uninstalling and reinstalling VsVim, but that had no effect, likely due to residual settings files from the original install. I tried reassigning <C-r> to Visual Studio and then back to VsVIM in the options, but that hasn't helped either.
      Help welcome.
    • Right now <C-R> is not implemented for the command line editor.  I have the following issue tracking getting it implemented
  • Highlighting/visual mode disabled after update?
    3 Posts | Last post May 06, 2014
    • Updated a bunch of stuff recently and now highlighting a section with mouse and hitting (eg) 'x' no longer cuts that selection to buffer, but rather inserts an 'x' where selection was. This happens irrespective of whether I was in insert mode or not when selecting started, if that makes a difference. Did a setting get overwritten somewhere? 
      Thanks for the great plugin, it's a lifesaver. 
    • It looks like you are running into a settings change that occurred in the latest version.  The default settings moved to gVim 7.4 vs. the old 7.3.  Here is a thread detailing how to get back the old behavior
      In the next version of VsVim it's going to be a nice GUI option instead of a vimrc solution 
    • That's exactly what it was, thanks. 
  • Strange behavior in .ts
    3 Posts | Last post April 23, 2014
    • The behavior described here:
      "Latest vsVim in VS2013.
      I have this line in a .cshtml file:
         @Html.ActionLink("CM Demo", "Index", "CM", null, new { @class = "navbar-brand" })
      Editor is in normal mode.
      If the cursor is in one of the quoted strings ("CM", for example).
      When I use this command:
      I end up with this, editor is in insert mode:
         @Html.ActionLink("CM Demo", "Index", "C" +
                                               "M", null, new { @class = "navbar-brand" })
      This behavior is happening in .ts files as well now.  It's pretty annoying, because often when I go save, it just adds a line instead.  BTW I started noticing it after I installed resharper.
    • Btw thank you for the awesome plugin :)
    • Thanks for reporting the issue!  I've already done a similar work around for this R# feature in C# files.  Looks like i need to add support to other file types as well.  
  • VsVim is so cool.
    4 Posts | Last post April 23, 2014
    • Click esc will change to command mode twice. (keydown, keyup)
      This is bothering me.
      Sorry for my sorry English.
    • Can you try explaining a bit more what is going on here?  It's unclear what is going wrong.  Can you go through the key sequence you execute and exactly what VsVim is doing incorrcectly? 
    • I saw:
      The Escape key was pressed and we are still inside of Insert mode.  This means that Visual Assist handled the key stroke to dismiss intellisense.  Leave insert mode now to complete the operation.
      I often press key like this : Esc↓ o↓ o↑ Esc↑. It's different from Vim.
      Maybe I'm the only one press like this.
    • What version of VsVim were you seeing this behavior with?  The most recent version should fix this bug.  I added some work arounds to ensure that insert mode is exitted when Esc is pressed even if Visual Assist uses it to dismiss intellisense 
  • Disable alert sound?
    2 Posts | Last post April 21, 2014
    • Hello Jared,
      When using VS Vim, if you move the caret to any extreme position of the document, and you try to move the caret beyond what you can, the plugin produces an annoying alert sound, for each key you type that is invalid.
      It is actually OK when I'm using it in my Office (no speakers), but when I have my head set, I actually hear it all the time.
      Could it be possible to disable it or provide an option to do so?
      Many thanks :)
    • This can be turned off by typing the following
          :set vb=
      This unsets the "visualbell" option that disables all beeps 
  • Block caret renders over quick find pop-up window
    2 Posts | Last post April 12, 2014
    • Hi Jared,
      In previous versions you could not use normal mode commands when the Quick Find pop-up window was active. In you can and this is very useful! However, there seems to be a bug in the drawing code. 
      If you have the block caret over text in the top-right area where the pop-up window appears, pressing Ctrl+F will show the pop-up window but the block caret keeps being drawn over the pop-up window's screen area instead of being clipped out since it should be "behind" the pop-up window (the regular I-beam caret is properly clipped out in insert mode, as is the text in both normal/insert modes).
      Hope I explained that properly!
    • Sorry, thought I had responded to this a few days ago but noticed when answering a diff question that i had not.  
      Thanks for pointing that out.  It looks like my adornment is somehow beating out the find adornment and hence layering on top of it.  I'm looking into how to resolve that
11 - 20 of 198 Items