VsVim

Free

VIM emulation layer for Visual Studio

(207) Review
Visual Studio
2013, 2012, 2010, 14
Download (236,615)
2/22/2015
1.8.0.0
View
E-mail Twitter del.icio.us Digg Facebook
Add to favorites
Description
Reviews (207)
Q and A (214)
Sign in to write a review
Sort by:

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!

by saturnman2008 | November 24 2014

really nice. You have done a great job, my friend.

by MeiMar | November 18 2014

by Emil Kantis | November 14 2014

Great plugin, love it.

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


  • Color setting in Vs 2015
    2 Posts | Last post March 16, 2015
    • I can't change block caret color of vsvim in VS2015.How to solve this problem?
    • Go to Tools -> Options -> VsVim -> General.  The block caret color can be changed from that page. 
  • Status bar
    4 Posts | Last post February 26, 2015
    • A long and white status bar looks bad in VS2013 with dark theme, how can I change the background and text color of the status bar?
      And, Visual Studio has its own status bar, why not just use the visual studio status bar instead of creating your own? I really want to save screen space as much as possible.
    • The color of the command margin can be changed in Tools -> Options -> VsVim under the Item Colors section.  Both the foreground and background can be changed here. 
      
      The Visual Studio command bar just really isn't sufficient for the needs of Vim.  At a high level it's meant for short term, non-editable, global status messages.  Vim needs long term, editable, local command bar.  There are other more technical reasons why I made this choice but at a high level that's the reason. 
      
      I have gotten enough requests for this though that VsVim does support using the status bar only.  To enable that go to Tools -> Options -> VsVim and set "Use Editor Command Margin" to false.  
      
      Note: This is a brand new feature that I don't actively use myself.  It probably still has several bugs that need to be ironed out.  And long term it won't be as functional as the command margin (in particular it won't support edit).  But overall it should serve as a reasonable substitute. 
      
      
      
      
    • Thanks for the reply, I'm new to vim so I didn't really know what command margin means when I asked that question, sorry to bother you for that
      
      But there is a minor problem that I hope you can help me solve:
      
      I am a chinese, and like all other programmers in China or Japan and some other countries, we use input methods to input our language.
      
      In insert mode, there is no problem.
      In Normal mode, when I type 'i' for example, I meant to enter Insert mode, but if my input method is active, the input method will intercept my input, so I have to disable my input method and type again, this is a bit annoying.
      
      Is there anything you can do from your end to disable input method (if enabled) temporarily when in Normal mode?
    • It's possible.  Is there a way for me to query the IME state?  I just don't know a lot about it hence I'm not sure what I can or can't do.  
  • Conflict with MS Bing Pinyin input
    4 Posts | Last post December 16, 2014
    • If i use MS Bing Pinyin input then vsvim will work abnormal. Just move cursor feature works well.
      Condition: Win8 
      VSVIM setting: Handle all with VisualStudio.
      
      
    • Can you post a link to the other extension which is causing issues? 
    • This is link: http://download.get.live.cn/bing_dict/official/BingDict_Setup.exe
      
      This app is Microsoft bing app for Chinese Pinyin input. 
    • Sorry, make mistake. 
      This link is correct.
      http://download.get.live.cn/components/pinyin/BingPinyinSetup_1.6.47.02.exe.
      
      Reproduce steps:
      1. open Vs2013 and enable vsvim(Handle all with VisualStudio).
      2. switch input from english to chinese. then vsvim will not work normal. 
      For example, Ctrl + j to list members, but in this situation, it will linefeed.
  • Saving marks.
    3 Posts | Last post December 10, 2014
    • Hi.
      
      I can't find feature, which would let me to save the marks, when i close visual studio (2013). 
      That is, in one session of using VS, marks works fine, but when i close studio and open it again, marks is erased.
      
      Thanks.
    • Hey NoviceF,
      
      That feature isn't implemented right now.  I've thought of saving marks and a few other items on close but just haven't seen a strong demand for the feature.  It's something I will consider for a future release.  
      
      
    • Thanks for answer.
  • Navigating between window splits
    3 Posts | Last post November 21, 2014
    • Hey Jared,
      
      I've been debating making the jump from ViEmu to VsVim for better config support via vimrc (currently the only usable mapping that makes sense is 'nnoremap <esc> :noh<cr><esc>'), but I'm struggling with navigating between window splits. I've figured out splitting via command mode with :split and :vsplit but normal mode commands <C-w> s, <C-w> v, and <C-w> w do not work. I haven't found a way to move between horizontal splits without using the mouse, and I can't navigate between vertical splits at all without using <C-tab>.
      
      Using ViEmu, I'm used to gt and gT taking me to the next buffer, regardless of tab well, though I appreciate the difference in VsVim where every open tab is treated as an open buffer, there's no indexed buffer list (:ls) so I can't jump to a given buffer (:b1 :b2 etc) without cycling through every open tab. I'm also unable to open a new buffer (:e SomeFile.cs) which keeps me reliant on the solution explorer search.
      
      I feel like I'm missing something fairly major, but I've searched and all the ways of splitting and navigating splits and buffers doesn't seem to be supported outside of :split and :vsplit
    • Hey Warren,
      
      As for the <Ctrl-W> commands I just wasn't aware of them.  I've been using the :split and :vsplit commands for as long as I can remember and had never seen this alternative.  It's fairly easy to implement and I filed the following issue to track getting the work done 
      
      https://github.com/jaredpar/VsVim/issues/1482
      
      As for the buffer list.  Vim and Visual Studio unfortunately have a very different understanding of how buffers work.  A couple of times I've tried to map out how the buffer commands should work in the world of Visual Studio but I've been unable to convince myself of a model that made a ton of sense.  If you have any ideas here I'd love to hear them. 
      
      For :e the command is implemented today but has no sense of relative path.  How are you expecting the path to be resolved here?  Relative to the current project, solution, etc ...? 
      
    • Hey,
      
      As far as a buffer list goes, it would be nice just to use :ls to get a numbered list of files that are open, you don't necessarily need to treat a vertical split of the same file as separate buffers. gt and gT would cycle numerically through the buffers forwards and backwards (alternate commands are :bn and :bp), as well as :b n to jump to buffer n. The ordering of that list is entirely up to implementation I suppose. Tab order is the initial thought, but multiple windows, screens, and tab wells complicate things. If VS has a way to progressively iterate through those by level (window, well, tab) that I guess would be the simplest way to go, since "order opened" doesn't make sense when opening a project with files already open. ViEmu only places a file in the list if you've made changes to it during that session or it was the first file with focus, but then you have to :e FileThatIsAlreadyOpen.cs to be able to jump to it. It's not the worst idea, I suppose.
      
      for :e, I just tried using it and even from a file in the same folder I get "The document cannot be opened. It has been renamed, deleted or moved." I'm used to typing :e fileiwant.cs non-case sensitive regardless of path, sort of like a quick find, though I don't have many projects where the same file exists in multiple paths so I never thought about the particulars of path relevance. If one were to build in path relevance if path is specified, it should probably be from the solution root.
  • vimball plugin in vsvim
    3 Posts | Last post November 17, 2014
    • Hi.
      Is there a way to install a .vba plugin in vsvim ?
      I want to install Align ( http://www.vim.org/scripts/script.php?script_id=294)
      thx
    • Unfortunately VsVim does not support vim style plugins.  VsVim does have some support for the vim script language but not nearly enough to support extensions.  
      
      There are a number of alignment extensions out there for Visual Studio which may help you
      
      https://visualstudiogallery.msdn.microsoft.com/7179e851-a263-44b7-a177-1d31e33c84fd
      https://visualstudiogallery.msdn.microsoft.com/0cc34d69-c6f1-41e3-ac6e-5de071b3edc8
      
      I'm not sure if they target VBA or not though.  
    • thank you, i will try that now
  • :g/re/p give error msg --> Undo linked chain broken.
    3 Posts | Last post November 06, 2014
    • First, thank you for the app. Excellent work.
      
      I frequently use :g/re/p to print all the lines in a file matching /re/. I am getting the following when I do so:
      
      Undo linked chain broken. Falling back to Visual Studio undo
      
      Is this a configuration conflict or a bug? 
      
      Thanks for your help with this,
      
      -Glenn
      
    • Thanks for reporting this!
      
      This is a bug.  In the most recent release I fixed a number of undo / redo bugs in VsVim and really tightened the diagnostics around it.  What you are seeing here is a place where the tightened diagnostics are incorrectly firing.  I just uploaded a fix for this bug and it will appear in the next release 
      
      https://github.com/jaredpar/VsVim/commit/bc7557b1c6952a9af1bb9e99354ce2720ee4712b
      
    • Thanks Jared
  • vimrc settings not getting picked up by my Visual studio 2013
    2 Posts | Last post November 05, 2014
    • I had read the faq and when I type :set in Visual studio, I get the below.
      
      vimrc="C:\Users\allai\_vimrc"
      vimrcpaths="C:\Users\allai;C:\Users\allai"
      shiftwidth=4
      tabstop=4
      
      The following is what I have in "C:\Users\allai\_vimrc",
      
      I tried different things.
      
      
      1) shiftwidth=5
         tabstop=4
      
      2) set shiftwidth=5
         set tabstop=4
      
      3):set shiftwidth=5
        :set tabstop=4
      
      Seems to have no effect to visual studio.
      Any idea What I am missing?
      
      Thanks,
      Alan
    • Hmm, not sure why it didn't work before But I did got it working now...
      
      set shiftwidth=4
      set tabstop=4
      set hlsearch
      set ignorecase
      set incsearch
      set smartcase
  • I can't find the option button
    4 Posts | Last post October 06, 2014
    • Hello, 
      
      I want to reconfigure the key bindings, but I can't find the option button that you mentioned it would be located in the right-bottom in editor windows. 
      
      I'm using visual studio 2013 professional. How can I reconfigure the key bindings or find option button?
    • In recent versions the Options button has moved to the Visual Studio Options menu.  Go to Tools -> Options and navigate to VsVim in the dialog that pops up.  The old menu is in that section under Keyboard
    • Thanks for your reply! But, I can't find the VsVim popup when I search VsVim in the dialog of the options! Hmm.. T.T
    • Did you type VsVim into the search box or just scroll down?  Don't think searching is supported but VsVim will be there if you scroll to the bottom.  
  • Skip some vimrc commands in VsVim
    2 Posts | Last post September 12, 2014
    • Hi Jared,
      
      I have been using vim on windows for a while and have a good setup. Doing some VisualStudio work and VsVim has been working great for me. I have discovered a few plugins and keybindigs simple do not work, and reading through the notes found that they are not supported. That's fine, but I still want them for normal vim.
      
      Is there a way to exclude some vimrc lines from execution is VsVim? I searched the docs and could not find anything. I have exclusions for different OSs. I was hoping there was an env variable I could use to exclude a few items.
      
      Thanks for the help, 
      
      Marcus
    • One approach is to have a separate vimrc file for VsVim. If u have a file named _vimrc then VsVim will prefer that over a standard _vimrc. This is what I do. 
      
      I have thought about adding a VsVim variable for use in an 'if' block jn the rc file.  This will very likely happen for a future release but isn't implemented yet. 
1 - 10 of 214 Items