VsVim

Free

VIM emulation layer for Visual Studio

(176) Review
Visual Studio
2013, 2012, 2010, 14
Download (198,037)
7/21/2014
1.7.0.0
View
E-mail Twitter del.icio.us Digg Facebook
Add to favorites
Description
Reviews (176)
Q and A (204)
Sign in to write a review
Sort by:

by Emil Jasiński | at 8:39 AM

by case23_69 | August 08 2014

Awesome - thanks for sharing!!

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 |
Delete

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

Indispensable.

by Pål Fossmo | April 10 2014

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


  • Quick Search Panel and VsVim
    3 Posts | Last post March 21, 2014
    • Hi Jared,
      
      Love the plugin, but is there any chance of an option that would stop the quick search popup stealing the vim hotkeys even when it doesn't have focus? I know you don't want to get into working out the intersection of the popups hotkeys and vsvims, but I'd be totally fine ignoring the popups ones.
      
      Right now if one does a search, then switches focus to the editor, its like vsvim is turned off (or in edit mode) as all keystrokes just edit the document.
    • Hi Dan, had this same issue but its fixed in the latest version!
    • Awesome!
  • Highlight current line?
    3 Posts | Last post March 18, 2014
    • Hi Jared,
      
      VS2012 with Update 4 seems to have a really annoying bug: if you open a new tab with any text file, the "highlight current line" editor setting isn't honoured. You have to go "Tools > Options > Text Editor > Display" and untick "highlight current line", press OK, then do the same and tick it again. When the editor receives focus the second time the highlight works.
      
      I know Vim has a similar setting enabled via "set cul" and I have added this to my _vsvimrc to see if VsVim supports it. It does but the same problem persists: open a file, no highlight, reload _vsvimrc via the :source command and the highlight appears.
      
      What should I do? (I've looked in vain for another extension that will just highlight the current line).
      
      Thanks,
      Eric.
      
      PS: I got version 1.6 and saw the fix for the situation where the pop-up Find window would disable VsVim normal mode commands. You mentioned this would be a tough fix but you did it anyway - thanks a lot!
      
      PPS: my line highlight is customized to a lime green colour on a light grey background, and I removed the annoying rectangle VS2012 draws by default. Dunno if this is related.
    • This should be controlled through the cursorline setting.  If you add `set cursorline` to your vimrc file does it highlight by default after that? 
    • They are the same command ('set cul' is an abbreviation in Vim for 'set cursorline'), so I am getting the same behaviour - when you open a tab, no highlight. Reload _vsvimrc via :source and the highlight comes on in the already opened tab.
      
      Whatever VsVim is doing to the editor to show the highlight when I do :source, ought to happen when the tab is first opened too.
      
      Right now I have mapped a key that will do :source for me so at least I can just hit the key to refresh instead of going through the tedious "Tools > Options > ..." route.
      
      Thanks for looking into it,
      
      Eric.
      
      PS: liking the new logo! It's what caught my eye and alerted me to availability of the latest version when I was poking around in the Extension Manager looking for another "highlight line" plugin.
  • move to line 0 actually moves to line 1 (+strange cursor placement)
    2 Posts | Last post March 14, 2014
    • 1st: some text:
      
      foo
      bar
      baz|
      
      2nd: :m0
      
      actual result:
      
      foo|
      baz
      bar
      
      expected result:
      
      |baz
      foo
      bar
      
      for lines other than 0 the result looks okay, but the cursor is still placed at the end of the previous line instead of the beginning of the line just moved:
      
      foo
      bar
      baz|
      
      :m1 does:
      
      foo|
      baz
      bar
      
      but i'd expect
      
      foo
      |baz
      bar
      
      
    • I think that we fixed this already in the most recent code.  If so it will be included in the update to be released today / tomorrow
  • <C-End> vs G
    4 Posts | Last post March 14, 2014
    • selecting everything works with either
          ggvG
          Gvgg
          <C-End>vgg
          <C-End>v<C-Home>
          <C-Home>vG
      but with neither
          <C-Home>v<C-End>
          ggv<C-End>
      
    • Can you give me an example of where the last 2 commands behave incorrectly?  Possibly with some sample text? 
    • <C-End> seems to exit visual mode (|==cursor as usual):
      
      1st: write some text, place cursor randomly:
      
      texttexttext
      text|texttext
      texttexttext
      
      2nd: press ggv
      
      |texttexttext
      texttexttext
      texttexttext  **VISUAL**
      
      3rd: press <C-End>:
      
      texttexttext
      texttexttext
      texttexttext
      |
      
      alternative 3rd: press G
      <selectionstart>texttexttext
      texttexttext
      texttexttext
      |<selectionend> **VISUAL**
      
      hope that helps :)
      
      
    • Thanks, I'll take a look at that
  • studio autocomplete + . = :(
    2 Posts | Last post March 12, 2014
    • when devenv is nice to me it breaks vsvim..:
      
      e.g. editing XAML, i enter St= (= accepts intellisense, | is the cursor):
           Style=|
      devenv autocompletes this to:
           Style="|"
      then i type { so it gets:
           Style="{|}"
      then i type x\n\n (accepting intellisense twice) results in:
           Style="{x:Null}"
      esc, move to another position, press .(=repeat) now inserts:
           St={x:Null
      so some intellisensesuggestions like the 'Null' get repeated,
      some (like the 'Style") dont. and the " and } are also missing.
      
      is this known? which features can i use without breaking 'repeat'?
      
    • Thanks for reporting this.  It's a known issue that we are working on a fix for.  When VS inserts random text, as happens during a brace completion, it breaks our repeat strategy.  Trying to find a good way to accommodate this without having to special case the editors 
  • Can not find this extension from Visual Studio 2003
    5 Posts | Last post March 03, 2014
    • Hello,
      Visual Studio is new to me. While I searched "VsVim" through Visual studio 2013 by using Tools/Extensions and Updates/online, no result was returned. 
      
      Any suggestion ?
      Thanks!
      
      Tao
    • if you're experiencing troubles finding the extension in the gallery you can still download it from here (via the pink download-button) and install it.
    • @Tao are you running Visual Studio Express?  
    • @JaredPar MSFT  so how could i run vsvim on visual studio express?  or it will not work?
    • Unfortunately you can't run VsVim, or any other extension, on Visual Studio Express.  Microsoft locks out any extensions in the Express SKUs and there is unfortunately nothing I can do to work around the limitation.  
  • VS' convert-tabs-to-spaces setting not honoured
    2 Posts | Last post February 22, 2014
    • VS has the option to replace tabs with a configurable number of spaces (Tools>Options>Text Editor>All Languages>Tabs, also configurable per file type). VsVim doesn't seem to honour this setting. Any chance of getting this included?
    • VsVim does support honoring this.  It just prefers settings from the _vimrc file over the Visual Studio default if it finds a _vimrc.  Here is a link that details how to get VsVim to respect Visual Studio over vim defaults for all settings 
      
      https://github.com/jaredpar/VsVim/wiki/Defaults-for-Settings
  • "Vap" selects one line too much
    2 Posts | Last post February 20, 2014
    • normally i simply "Vap" for selecting the current paragraph (incl the blank line)
      but vsvim also selects the first line of the following paragraph.
      
      i guess that's not intended behaviour
    • Thanks for reporting this! This is a known issue that we are tracking as issue #788 
      
      https://github.com/jaredpar/VsVim/issues/788
  • <C-r> in command mode doesn't work
    3 Posts | Last post February 18, 2014
    • I'd like to use registers in command mode, e.g.:
      
      http://stackoverflow.com/questions/2312844/vim-yank-into-search-register
      
      but VsVim doesn't seem to support that functionality at all.
    • This is a known issue that is being tracked by bug #551.  Hoping to get this into one of the next versions
      
      https://github.com/jaredpar/VsVim/issues/551
    • ah, nice to know :)
      
      thanks for the fast reply (as always)
  • replace word by buffer contents
    6 Posts | Last post February 13, 2014
    • i don't seem to be able to bring any of this bindings to work:
      
      http://stackoverflow.com/questions/2471175/vim-replace-word-with-contents-of-paste-buffer
      
      so what i currently do is 'yiw' on the source and 'ciw<C-r>0' on the target.
      
      but since i cant even repeat the change/paste via '.' my fingers hurt after the third occurence :)
      
      is there a (more) painless way to do so?
      
      regards
    • What behavior is incorrect on the repeat?  Is it not pasting the contents in? 
    • before: firstWord secondWord thirdWord
      'yiw' on first-^
      'ciw<C-r>0' on second-v
      after: firstWord firstWord thirdWord
      '.' on the third does nothing-^
      
    • Okay I gotcha now.  I was able to reproduce this on my machine.  I filed the following bug to track the problem 
      
      https://github.com/jaredpar/VsVim/issues/1294
    • i've seen you've got a pull request on that issue :)
    • Yeah, richsladkey just happened to be fixing some bugs in that area so he was able to fix that really fast.  It will be in the next release :) 
31 - 40 of 204 Items