+1187 – Vim, infamous for its steep learning curve, often leaves new users confused where to start. Today is the 10th anniversary of the infamous “How do I exit Vim” question, which made news when it first hit 1 million views.
2022-08-06 13:06:38
[+1187] |
That’s great. In the interest of sharing another great StackOverflow VIM post. [Your problem with Vim is that you don’t grok Vi](https://stackoverflow.com/questions/1218390/what-is-your-most-productive-shortcut-with-vim/1220118#1220118)
I just hit Escape about 75 times to make really sure it’s in command mode, then :q
I first struggled with exiting vim 26 years ago.
I’ve used Vim forever… but now I use Vim on VSCode. It’s the first implementation (or actually two, vscode-vim and -nvim) that doesn’t feel like too much of a compromise or too slow. Don’t think I’m going back.
This is a great opportunity for a whole bunch of new coders to see if they can exit Vim!
Fundamental problem for vim is an exaggeration of the problem of TUIs generally: lack of arbitrary discoverability. Mouse-oriented GUIs let me just click stuff and see what happens, and generally, most of the the stuff that can happen is somewhere in the immediate GUI for me to click. Menus and menu bars supplement this when design reaches an impasse of making everything immediate in the GUI, but they’re still fundamentally *discoverable*.
Vim has a *shit ton* of crazy features, so much that hardened veterans who’ve used vim for most their adult life will *still* be shocked to learn about a feature they didn’t know about. Why?
Because the only way to discover features is to *read everything* under `:h`. Have you read the man pages for *everything* on your UNIX-y OS? Exactly, now replicate that entire problem in the context of everything that can be possibly be done in vim.
How many regular (neo)vim users learn something about their editor of choice from blog posts, random comments on reddit/HN, asking SO questions, reading someone else’s config on GitHub, etc? That’s a failure to give your user the ability to “fuck around and find out”, for lack of a better term. This is *trivial* in mouse-oriented GUIs.
But again, that’s not a specifically vim issue, its endemic to TUIs (hence bash completions and all the other hacks to make discoverability accesible). As well, there are some projects to ameliorate this in vim like the `which-key` family of plugins[[0](https://github.com/folke/which-key.nvim)][[1](https://github.com/liuchengxu/vim-which-key)] and others like them.
You don’t have to master vim, you just have to memorize 20 commands or so.
The one thing I truly despise about the community in a general sense is this extreme aversion to people openly saying they don’t know something. God forbid you say that on stackoverflow.
“What? You don’t know what a modulus operator is? You absolute fucking troglodyte, why do you even exist? I was using those in the womb while I was programming my own fully immersive virtual reality games. You should be ashamed of yourself. I will not answer your question but instead keep bragging about how amazing I am. “
It’s this maddening thing that serves no purpose. There is literally nothing wrong with people not knowing something even if you think it’s simple or obvious. We all had to learn that obvious thing at some point. A lack of information doesn’t equal a lack of intelligence.
I just remember the head of our Comp. Sci department giving a workshop on Vim and continuously fucking up commands. I’ve always been a very surface-level user of Vim (hence product manager, not engineer) but always impressed by those who use it as a sub-langauge.
I’m so old I use vi.. none of that new fangled vim futuristic internet stuff for me! *hawking up some phlem*
Vim Tutor is really helpful. IMO Vim should open Vim Tutor instead the first time a profile launches the app.
I’d say vim is infamous not for being hard to start, but to stop
I would say that emacs is a bit more complicated than vim, but okay
In 9th grade, I forced myself to learn vim after I landed myself in a situation where I needed to code on a server often.
Now I’m in college and I use vim as my main editor, for better or worse.
You guys exited vim? I’m still in here
:q!
Vim made me rethink the way I do file edition and work. I wasn’t into TUI before this but now I think about how I could make a good TUI alternative to the bloated GUIs out there
As someone who has been programming for over 15 years, I honestly fucking hate vim. “Acktually, if you get gud it’s so productive” shut the fuck up. People who spent years getting good at that idiotic interface simply don’t want to let go.
I don’t use VIM out side of a linux terminal, but i use emulators in every editor i use (VS, VSC, AS, Sublime). If you are hardcore you can use it in the browser for text editing.
https://github.com/akahuku/wasavi , i’m not sure if this still works, i haven’t used it for a while.
Why is <esc> : wq so difficult? It’s so much easier than meta-shift-ctl atl-alt-x which is probably the equivalent on emacs (I have no idea as my eyes glaze after the first meta-shift or two)
I literally only ever use vim for editing .bashrc and git commit messages
:q!
I used vi in the 70s. It was maddening and frustrating, but it was all there was. Fortunately, editors evolved. Why it still exists today is mystifying. Is it a case of old bad ideas never die?
I don’t see what the problem is. You just write a script that uninstall and reinstall a it whenever you want to close it. 🤣🤣🤣🤣
I like to think of it as a right of passage.
EMACS is the true way.
The best way to quit vim is to turn off your computer and install Windows.
Lol the funny part is it’s not difficult to remember when you’re done. But honestly vim to me just has way too much to remember getting started.
This message was brought to you by Nano. The superior editor.
The only thing I know to do in vi is to exit it in case some brain dead tool launches it.