Better GUI for vim?

41,288

Solution 1

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.

Solution 2

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.

Solution 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.

Solution 4

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.

Solution 5

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.

Share:
41,288

Related videos on Youtube

DavidHolmes
Author by

DavidHolmes

Updated on September 18, 2022

Comments

  • DavidHolmes
    DavidHolmes over 1 year

    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?

    • user1686
      user1686 over 12 years
      Personally, I use gVim on Windows precisely because it behaves the same way as the console/terminal vim on Unixes.
    • user5249203
      user5249203 over 12 years
      It would be useful to know some details of the usability rules with which you find gVim particularly at fault.
    • DavidHolmes
      DavidHolmes over 12 years
      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.
    • user1686
      user1686 over 12 years
      Instead of "setting up a Linux environment in Windows", why not just use gVim? No setup needed.
    • DavidHolmes
      DavidHolmes over 12 years
      Here's another interesting discussion about having a modern GUI for Vim: groups.google.com/group/vim_use/browse_thread/thread/…
    • Sasha Chedygov
      Sasha Chedygov about 12 years
      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.
    • DavidHolmes
      DavidHolmes about 12 years
      Hehe thanks for the support musicfreak, this doesn't seem like a popular opinion among geeks. The reality is that I can't live without Vim, it really makes development much faster and comfortable once you get used to its idiosyncrasies. Which is why I've abandoned gVim and kept using console Vim exclusively, and it's worked out great. gVim is a horrible app, stick to Vim.
    • SO_fix_the_vote_sorting_bug
      SO_fix_the_vote_sorting_bug about 4 years
      Console Vims sometimes don't do colors/highlighting correctly. For example, the bash shell in Ubuntu for WSL. Granted, this is (yet another) Microsoft problem, but it still is annoying enough that I don't want to use console Vim under WSL.
  • DavidHolmes
    DavidHolmes over 12 years
    I agree with you. But I don't see the point in gVim at all, then. Why have a menu bar and buttons if it's meant only for keyboard use? The fact is lots of (most?) people use GUIs and mouse-driven interfaces, and having an application intentionally break many GUI conventions is just frustrating.
  • akira
    akira over 12 years
    i run gvim so it looks like running in a (x)term. the point is: there is no good term on windows, which makes gvim the only sane version of running vim on windows. mouse support is better than in (x)term as well. again: if (g)vim works against of what you expect and given that you don't want to learn vim: there is no shame in using something else (notepad2/notepad++/whatever)... just don't be stupid and "fight vim" coz that fight you will lose for sure :)
  • DavidHolmes
    DavidHolmes over 12 years
    I have no shame in using something else, which is what I've been doing for a long time. The thing is that nothing I've found in the GUI world comes close to having vim's features. So I usually end up going back and forth from Editra/Sublime Text/Notepad++ to console vim or (shudders) gVim. What I really want is the best of both worlds.
  • akira
    akira over 12 years
    or you just learn 100% vim and be done with the editor-problem till end of time :)
  • Heptite
    Heptite over 12 years
    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
    Heptite over 12 years
    @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.
  • akira
    akira over 12 years
    @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.
  • DavidHolmes
    DavidHolmes over 12 years
    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.
  • romainl
    romainl over 12 years
    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
    romainl over 12 years
    … 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.
  • DavidHolmes
    DavidHolmes over 12 years
    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.
  • cedbeu
    cedbeu over 10 years
    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.
  • Kerneels Roos
    Kerneels Roos over 9 years
    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 :-).
  • Admin
    Admin over 6 years
    If you are a hard-core Vim fanboy, you likely won't find any of the VS Code Vim plugins satisfying.
  • Fijat Ogur
    Fijat Ogur over 4 years
    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.)
  • SO_fix_the_vote_sorting_bug
    SO_fix_the_vote_sorting_bug about 4 years
    Oni is now unmaintained, and Oni2 is paid software, which is about as sh!77y as one can get in this arena.