VsVim

Free

VIM emulation layer for Visual Studio

(161) Review
Visual Studio
2013, 2012, 2010
Download (173,537)
3/21/2014
1.6.0.2
View
E-mail Twitter del.icio.us Digg Facebook
Add to favorites
Description
Reviews (161)
Q and A (183)
Sign in to write a review
Sort by:

by Martin Rykfors | Wed 8:24 AM

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 | Tue 12:27 PM

by ovalsquare | April 11 2014

Indispensable.

by Pål Fossmo | April 10 2014

by byte1918 | April 06 2014

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

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.

by inkadnb | March 20 2014

Wonderful plugin, look no further, this is THE VIM extension for Visual Studio.

Where can I send a donation?

by MDUnicorn | March 19 2014

Nice icon! This wonderful plugin needed it!

by moorejk | March 17 2014

It's been a long time since I used VI. It's the one thing I always found missing when using Visual Studio since I switched to Windows development back in 1995. It is so nice to get the power of VI back and to have it in Visual Studio is a bonus! Thanks so much!

by JumpingJeff | March 04 2014

Essential for me. One of the first things I download to customize Visual Studio.

by PaulOldridge | March 02 2014

Thank you! Now I can develop in Visual Studio 2013.

by Chubyone | February 24 2014

The Best way to learn vim from an old Visual Studio User, without losing your old habits & IDE's prefered features.

Thanks for your job.

by TomasDeml | February 15 2014

Once you make the effort to abandon the mouse and get used to vim, you will never want to go back!

by jakobschmid | February 11 2014

by Ricardo Kuchimpos | January 22 2014

Works perfectly!

by Brian Gianforcaro [MSFT] | January 15 2014

by peaeater | January 13 2014

It's a good vi plugin, and you can't beat free. However, I have used both VsVim and ViEmu, and I get noticeably better performance from ViEmu. In VS 2013 on my machine, VsVim (1.5.0.0) lags and pauses enough that it's a constant distraction. ViEmu has had no such issues.

JaredPar MSFT January 14 2014
| Edit |
Delete

Could you elaborate on the scenarios where you see performance issues?

by falanh | January 12 2014

by Kazark | January 07 2014

This is a very good extension. It is not only actively maintained, but new features are continually adding, bringing it ever closer to Vim's behavior. Jared Parsons is very active in responding to issues submitted on the Github page and he works to prioritize the features according to what the users are most needing. I wouldn't use Visual Studio without it if I could possibly help it. This makes my job better every day.

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


  • 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 :) 
  • Go to start/end of method
    2 Posts | Last post February 11, 2014
    • Great plugin! Use it every day.
      
      I was looking for a fast way to navigate between C# method declarations, and found the Vim commands ]m and [m. They don't seem to be in VsVim. or am I missing something?
    • [{ and ]} are implemented, and are pretty handy.  Repeated [{ will navigate to the top of the containing code block, so that might be an easy way to get to the beginning of the containing method.
  • AutoCmd support?
    3 Posts | Last post February 11, 2014
    • Hello,
      This works as expected in gVim:
      au FocusLost,TabLeave * call feedkeys("\<C-\>\<C-n>")
      
      After I added it to my _vsvimrc (in my 'home' folder, C:\Users\hxchba), it seemed to have no effect.
      Is there a 'VsVim' way to get the desired functionality?
      
      Thanks for providing us with VsVim and making VisualStudio much more useful...
    • Never mind, just found this:  https://github.com/jaredpar/VsVim/wiki/AutoCmd-support
    • FWIW, none of these seem to work:
      au BufWinLeave * call feedkeys("\<C-\>\<C-n>")
      au BufWinLeave * stopinsert
      au BufEnter * stopinsert
      
11 - 20 of 183 Items