17

I enjoy using vim, its endless features and the way it does things (for the most part). I've been using it on and off (not as my main editor) for at least 7 years now, so while I'm far from being an expert, I generally know my way around it.

Now, while I love it in the command-line, I'd really like it to be my main editor in Windows and Linux GUIs. But... gvim... is horrible. It breaks so many usability "rules" on Windows that it's not even worth fighting with it. Not even Cream, with its changes and fancy .vimrc, saves the day.

So, my question is: is there a modern vim GUI for Windows and Linux that makes it look and behave as most GUI editors? Having Sublime Text, Kate, TextMate or Editra's GUI with vim's features would be incredible. I realize all four (as well as many other editors) have plugins that sort of makes them behave like vim, but it's nowhere close (at least for Editra and Sublime Text, not sure for the others) the real vim.

Vim being open source, I'm really not sure why there hasn't been a complete GUI overhaul yet. Do people not use gvim?

8
  • 17
    Personally, I use gVim on Windows precisely because it behaves the same way as the console/terminal vim on Unixes. Commented Sep 10, 2011 at 16:30
  • 2
    It would be useful to know some details of the usability rules with which you find gVim particularly at fault. Commented Sep 10, 2011 at 20:43
  • 2
    OK, here's one: selecting some text in visual mode and scrolling actually modifies the selection. I understand this happens because the cursor always has to remain visible, and it helps using the 'o' command while in visual mode, but this is so counter-intuitive to standard GUI apps. I see many people use gVim just because it behaves like Vim, but then why just not use console Vim? Setting up a Linux environment in Windows and/or using a good terminal like mintty is very easy to do.
    – imiric
    Commented Sep 10, 2011 at 21:35
  • 2
    Instead of "setting up a Linux environment in Windows", why not just use gVim? No setup needed. Commented Sep 10, 2011 at 22:24
  • 1
    I completely share your frustrations--I discovered the power of Vim about two years ago, and I tried using it exclusively for about a year, but I realized that my frustration with the (lack of) GUI killed any marginal productivity bonus I got from Vim, so I ended up switching to another editor and have not regretted it. (Although I do miss it from time to time.) I suggest you do the same, because most Vim folks simply don't care about the GUI--MacVim is a special case. Don't try to fight with it; accept that it's simply not for you. Commented Mar 29, 2012 at 8:34

7 Answers 7

10

vim is designed for using the keyboard efficiently, not for using the mouse. thus, i find your complaint about a bad "gui" a bit awkward. if you do not like vim or if you do not want to learn how things are done in vim, thats just fine. but then you have to use another editor because vim just does not match your requirements.

so, i doubt there will be any gui-version of vim that matches your expectations of what a decent "graphical" editor should look like or should behave.

9
  • 3
    or you just learn 100% vim and be done with the editor-problem till end of time :)
    – akira
    Commented Sep 10, 2011 at 17:18
  • 3
    There /are/ reasons to use gVim instead of Vim in just a console. Two examples: 1) There are meta combinations Vim can not see except in the GUI, due to limitations in terminal emulators and terminal handling libraries. 2) Significantly more extensive color support. Those aside, I do think it's supremely unfair to expect Vim to suddenly behave like every other GUI application just because it happens to have a GUI. Vim will probably always have to violate the usability "rules," or it wouldn't be Vim any more. If that's not what you want, I must reiterate others: Find a different editor.
    – Heptite
    Commented Sep 11, 2011 at 2:24
  • 5
    @imric: When I say that "it wouldn't be Vim any more," I actually mean it can not be Vim any more and "conform" in GUI mode. Vim is an enhanced vi clone, and vi literally existed before GUIs existed. It has a very unique user interface, and yes, that does conflict with current GUI usability guidelines. To get (all of) what you want, you're asking for an editor that really, truly, does not behave the way vi/Vim is intended to function. One rule that Bram Moolenar (the creator and copyright owner of Vim) has for Vim is, as much as possible, console and GUI Vim should behave similarly.
    – Heptite
    Commented Sep 11, 2011 at 18:59
  • 3
    @imric: why do you want to use vim at all if not for its "arrogant and unfair" ui? i mean, it's vim .. you use it coz it does the job the way it does, same for emacs. as i said already: if the tool conflicts with what you want: user a different tool.
    – akira
    Commented Sep 13, 2011 at 14:05
  • 2
    Personnally, my GVim is set up to look exactly like my Vim so I have no menus, no scrollbars, same fonts / colors... The only reason I'm sometimes using GVim instead of Vim is when I'm using the mouse and the wheel to go loosely through some files (when I'm having some coffee or some beer for instance). It doesn't happen a lot, but still, sometimes. I can't imagine why one would want a Vim that doesn't behave like Vim. Better to use another editor that have been designed with GUI in mind.
    – cedbeu
    Commented Aug 19, 2013 at 18:27
6

I agree with Akira's answers and comments.

The only conventions-friendly GUI for Vim is MacVim which, obviously, is a Mac-only application.

I'm not sure it's "the best of both worlds", but the latest beta of Sublime Text 2 has a very impressive "vintage" mode that covers a lot of useful Vim features (motions, text-objects) and maps other things (/ or ? for example) to its native features. I find its overall design a bit irritating so I don't see myself switching to it anytime soon but, again, the vintage mode is impressive.

3
  • 1
    Right, MacVim seems to have a much better Vim GUI. But from what I understand it required quite a bit of work to make it look seamless in OS X, and gVim is a decades old monstrosity that gets virtually no updates. I have tried Sublime Text's Vim mode, and while it implements many of the movement and insert commands, it still falls short.
    – imiric
    Commented Sep 14, 2011 at 3:20
  • On MacOS X, good and coherent UIs are of paramount importance while nobody cares about that on Linux and Windows. That's why it mattered to the people behind MacVim and they went through the hard work it required. But the task was probably not that complicated because of established guidelines/traditions/usages and how these are enforced through the official dev tools. On this Linux desktop, my apps have at least 2 ways to name the main menu ("File" or some word related to the app's function) and at least 4 shortcuts for "Quit"/"Close Window" (<C-q>, <S-C-q>, <C-w>, :q…). I know…
    – romainl
    Commented Sep 14, 2011 at 5:37
  • … first hand it's largely the same on windows. I think it's hard to come up with a polished AND well integrated experience in such a messy environment without some kind of monetary incentive or authoritarian leadership. OK, sorry for the rant, back to regular schedule.
    – romainl
    Commented Sep 14, 2011 at 5:44
3

You can use VisualStudio Code and it has several plugins that add many of Vim's functionalities alongside with many goodies. It is a very good editor besides it is open and free and it has Windows, MacOs and Linux flavors.

2
  • 2
    If you are a hard-core Vim fanboy, you likely won't find any of the VS Code Vim plugins satisfying.
    – user128580
    Commented Oct 22, 2017 at 11:24
  • As an update to the above user's comment: As a Vim user for ~15 years, I'm perfectly happy with VSCode on Windows using the vi-mode plugin. It's, genuinely, quite excellent, compared to whatever you're expecting out of a "vi emulation plugin." (My go-tos nowadays are VimR.app on macOS and VSCode on Windows 10.) Commented Feb 2, 2020 at 22:17
2

You can get a plugin for an IDE which gives it VIM keybindings. E.G.

Here's a very cool web IDE for web developers, includes git, which has VIM keybinding mode built in:

Otherwise, I do my development on a mac, and I'm a huge fan of MacVim, and I agree that gVim is super ugly on *nix, and I cringe whenever I have to run vim in an ssh shell on the server.

As far as VIM like editors which aren't a separate IDE, another (mac only, sorry) GUI app is:

1
  • Thanks for your suggestions, but I decided to stick to console Vim for all my developing needs, instead of struggling with gVim. I already have my shell open all the time, I just have another tmux window running Vim, and it makes switching between editor to shell and back very fast and convenient. Plus, no usability rules being broken in the console. :-) I'm thinking on switching to Mac soon, and will give MacVim a try.
    – imiric
    Commented Dec 28, 2011 at 1:08
2

Vim is intended to be used without GUI. But if you are concerned about the menu bar and tool bar in gvim that looks out of place. You can disable it just insert

"Remove Menubar and Toolbar
set guioptions -=m 
set guioptions -=T

into your vimrc then it will be gone. on the bonus if your using windows lower than 10 your gvim resized better ( than default windows cmd ) and has better color scheme support and looks good.

2

Perhaps something like Oni is what you're looking for. I've not personally used it, but it's based on neovim, so you shouldn't get a half baked feature set.

1
  • Oni is now unmaintained, and Oni2 is paid software, which is about as sh!77y as one can get in this arena. Commented Apr 3, 2020 at 21:41
1

If you use access technology like a screen reader and want vim power you can give my project a try: https://code.google.com/p/phonim/ it uses JAWS scripting, and the gVim OLE interface. Although workable it leaves much to be desired, but even this limited access to the power of vim is worth while.

To improve the situation for gVim, all that is required is for someone with the proper know how to endow the vim backend with a modern UI front end with an editor component that has proper UIAutomation and MSAA support.

1
  • No problem, have edited. Yeah, a bit of a rant, but you see, I love vim and really would like to have more people benefit from it :-). Commented Aug 12, 2014 at 6:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .