VIM emulation layer for Visual Studio

(210) Review
Visual Studio
2015, 2013, 2012, 2010
Download (240,747)
E-mail Twitter del.icio.us Digg Facebook
Add to favorites
Reviews (210)
Q and A (214)
Sign in to write a review
Sort by:

by pjwhams | Fri 9:50 PM

Massively useful. The very first extension I install

by Yiheng Tao | March 31 2015

Must have :)

by Andy Yong | March 30 2015

This is a must have for any VIM user. Integrate nicely with VS.

by mboren | February 26 2015

This extension is phenomenal. It implements a lot more than I would have expected.

by Eduardo A. C. de Sousa | February 26 2015

Great extension! Can't live without it anymore.

by Ammar.Zaied | February 13 2015

good job, thanks.

by TrevD1 | February 12 2015

Great plugin, thanks! Includes a lot of vim functionality!

by keith0930 | February 10 2015

by v-yadli | February 07 2015

Been using this for years. Rock solid and feature-rich.

by Ryan Manwiller | February 02 2015

A great vi plugin for visual studio!

by CurtisP | January 28 2015

by why666 | January 22 2015

Brilliant. Finally something that stops my getting abused with compilation errors complaining about the "ZZ"s I leave around the code.

The only thing I truly miss is compatible mode for undo. I've been using vi for that long I use "uu" a lot to get me back to my last edit. Whereas nowadays I lose my last two edits :-)

by Sema4718 | January 07 2015

by nitis | December 29 2014

by GeneG1 | December 27 2014

by Nikita Moshensky | December 11 2014

Nice plugin, using it since earliest version when in need to edit code in visual studio.

by KyleWascher | December 09 2014

by Steven Goodgrove | December 02 2014

Being a Vimmer I could hardly live without it. I've not issues with it, covers the core Vim movements/modes brilliantly.

by ..walt | November 27 2014

Awesome tool. My fingers remember where to go. Thank you.

by Ginga Din | November 25 2014

Much needed for a vim guy like me!

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

  • <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
  • repeating last colon-command
    2 Posts | Last post April 12, 2014
    • sup jared,
      do i miss something or does @: really not work?
      (as in http://vim.wikia.com/wiki/Repeat_last_colon_command )
    • This is not yet implemented but is planned for the next version.  Here is a link to the issue that is tracking it
  • VsVim 1.6 with ReSharper
    15 Posts | Last post April 03, 2014
    • I've been using ReSharper 8.1 for a little while now and have had very minor performance problems.  Their tech support has told me that it's conflicting with VsVim a lot, which I haven't really been able to verify.  (The main problem is when scrolling with ctrl-u and ctrl-d.  Page up and page down work fine regardless of which plugin is turned on or off.)  I'm starting to believe them though because I just upgraded to VsVim 1.6 and the problem got a lot worse.
      So I have two questions.  First, is there a way to downgrade VsVim from 1.6 to 1.5?  I can't find anywhere to download older versions.  Second, are there any known ways to get VsVim and R# to peacefully coexist?
      P.S.  If it were to come down to picking one or the other, VsVim would stay on my computer and ReSharper would be uninstalled.  ;)
    • Sorry you're seeing performance issues.  
      Could you elaborate a bit more on the code you are seeing a perf problem with so I can try and reproduce it locally?  In particular how big are the files and do you use regions?  And it's just scrolling that is the problem? 
      You can definitely downgrade to earlier versions if you like.  Just uninstall the current version and then grab the older drops from here.  Every major version is supported and you can just download the VSIX and double click to install.  
    • I read this earlier whilst coming to ask about another issue, and it prompted me to try disabling vsvim. I have to say the editing seems to work a lot faster now in my large solution (Enterprise app with 25+projects).
    • @Dan do you GIT listed as your source code provider in Visual Studio?  If so try disabling that and seeing if the perf problems dissapear.
      I've had a few sporadic perf issues reported recently and at least one is tied to VS's GIT implementation.  The other is escaping me.  It's something I don't see locally and can't repro despite a lot of time spent looking into it.  If you were able to get a profile of the perf problem that would be much appreciated 
    • I had a hunch over the weekend as to what could be causing performance issues with VsVim + R#.  If either of you want to try this out it's a pretty easy test.
      First uninstall VsVim.  Then download this version from DropBox
      Start Visual Studio and go to Tools -> Options -> VsVim.  Change "Rename and Snippet Tracking" to False.  If that fixes the perf issue then I have a good idea at what the problem is.  If not then it's back to deep thinking :( 
    • Hi Jared,
      I just came across VsVim last weekend and have been trying it out, and have experienced the same issues as Dan and mrubelmann.
      I am also running VS 2012 with Resharper 7, along with WebEssentials and a couple of other extensions.
      I'm testing out that PerfTest build, but I cannot seem to install it. I get an error saying that it cannot find the reference Visual Studio MPF. I have installed the SDK to try to resolve this, but no luck so far. My Google search skills are also failing to provide any solutions.
      If you have any ideas on how to resolve this I'd appreciate it.
      - Laurence
    • That build is experimental and it looks like I haven't worked out the dependency kinks yet.  Going to try and fix that up tonight and see if I can get a different build out
    • Found a quick fix to that problem.  Here is the new drop 
    • That installed without trouble, thanks.
      Initial test without the option disabled shows a slightly faster editing speed (perception, no actual time values). I still get brief lags while Resharper or Visual Studio does validation on what I just typed.
      After turning off Rename and Snippet Tracking I do not see the lags while typing, and Intellisense is still filling in values. Resharper's code suggestions and reformatting still work, and the Resharper rename works fine too.
      I'd say I definitely notice and improvement from this new build. If you need me to test snippets please let me know.
      Thanks again for creating and supporting this plugin! I'm still getting my head around vim and being able to code with it in Visual Studio is really useful.
    • Thank you for testing that out!  That gives me a good indication of where I need to be looking now.  
    • One feature that does not appear to be supported is being able to do global substitutions within a given range.  For instance, suppose I mark one line using ma and a line further done with mb, then in standard Vim, you can then do:
      :'a,'b s/cat/dog/g
      for instance.  
      works, it would be very helpful to be able to do substitutions within a restricted range.  Is there any way to get some equivalent behavior or functionality in VsVim?  
    • I forgot to mention that I also use ReSharper 8.1, which may be interfering with this feature if supported.
    • Interesting point re git integration. I will test with it off for a while. I know git integration has caused me a lot of probs in the past as git on windows has woeful performance.
    • @J Joe Fowler
      VsVim does support the substitute command over a specified range.  The current syntax doesn't support a space between the closing mark and the 's' though.  I just checked and gVim supports a space there so I filed the following bug to make that fix in VsVim
    • Great, I would have never thought not to include that space.  I just tried using VsVim without the space, and it worked great.  Thanks!!
  • Reproducing Windows editing behaviour in insert mode
    3 Posts | Last post April 03, 2014
    • Hi Jared,
      Just got the latest version and discovered the whichwrap and backspace options which sound like a solution to a long-standing peeve I've had with Vim. Currently I have added the following in my _vsvimrc:
        set whichwrap=b,s,h,l,<,>
        set backspace=indent,eol,start
        nmap <LEFT> h
        nmap <RIGHT> l
        imap <LEFT> <ESC>ha
        imap <RIGHT> <ESC>la
      But I am facing the following problems:
      1) arrow-key wrapping at the beginning of a line works in insert mode. If I press LEFT I end up at the end of the previous line as expected. But pressing RIGHT at the end of a line doesn't wrap to the start of the next one (in normal mode, both work fine).
      2) pressing Backspace at the beginning of a line in insert mode does not join it to the previous line as would happen in a standard windows text box. It deletes the character to the right of the caret as if I had pressed the Delete key.
      Is this expected behaviour? What combination of options do I set to make the left/right/backspace keys work like in Windows during insert mode?
      Much appreciate your continued efforts on this plugin!
    • @Eric what version of VsVim do you have installed?  Both of those actually work fine on my machine.  I'm pretty sure #2 was a bug we fixed in 
    • I removed my _vsvimrc and opened VS2012 again. It all works fine before applying my key mappings, so I rebuilt the _vsvimrc line by line and removed the problematic mappings (along with settings I had from Vim that are not needed in VsVim).
      All good to go now, thanks!
      PS: rebuilding the file line by line was painful. Found myself wishing there was a debug mode where VsVim would execute each command in turn (echoing it somewhere so you know what just got mapped) and let the user try editing to see if anything changed. Or perhaps a "plain mode" where VsVim would unload the _vsvimrc file and return to its default settings so one can test the behaviour to ensure that it's the rc file that causes a problem.
  • delete in paragraph
    2 Posts | Last post March 22, 2014
    • Hi Jared, 
      Great plugin.  I can't live without it!
      The "in paragraph" object doesn't seem to be there yet. 
      "dip" and "cip" don't do anything, but "dap" and "cap" work properly.
    • Glad you enjoy it!
      We're hoping to get the `ip` support working in one of the next releases.  There are a couple of issues filed on it at the moment that we need to get fixed up.  
31 - 40 of 214 Items