Live data from Hacker News

Helping a Million Developers Exit Vim

stackoverflow.blog

141–150 of 489 posts

Re: Helping a Million Developers Exit Vim

#143
post #47

Earlier quoted context omitted.

I think this is a poor argument. If it's the one singular thing that's frustrating this many users, that's a reason to focus on particular on fixing it somehow. You also need to take into account that most users encountering this problem are not deliberate vim learners: they ended up in vim by accident. That said, as others have pointed out, the vim developers can't really be blamed here as it's just a very hard prob…

>they ended up in vim by accident. Sounds like a distro problem.

I never ended up in vim by accident until I installed git. vim doesn't come with my distro. (windows 10)

Re: Helping a Million Developers Exit Vim

#144
post #28
post #15

Earlier quoted context omitted.

Imagine you don't know that. Now try to exit vim.

Ok, so anyone with any terminal experience but no vim experience would press -c. Then, the program tells them "Type :quit to exit Vim" And if the user is capable of reading, they shouldn't have any problem. If they don't know about ctrl-c, they shouldn't be using a terminal editor.

If vim opens and that's the first thing you try, then it'll work, yeah.

But if you've typed anything, this won't quite work. c will take you out of insert mode, but won't offer any prompt. c again will bring up the quit prompt, but that's not intuitive the way doing it the first time is. And if you type the wrong thing after the first c, you'll break back into insert mode and have to take another run at it.

I remember getting stuck in vim because git bash uses it as a default editor. It happened when I forgot to enter a commit message, which meant that I started typing a commit message and thereby lost the useful prompt when I went to quit.

edit: per another thread, this gets far worse if you don't realize the ':' is active and not a prompt to "type: quit". That error sets off a maze that will never show you the prompt again to find your mistake.

Re: Helping a Million Developers Exit Vim

#145

Earlier quoted context omitted.

There is a common convention, though, which is: don't use modal interfaces, modal interfaces are bad. The problem vim has is that its UI is entirely organized around modes, which makes the "people are terrible at using modal interfaces" problem a hard one for it to cope with.

Modal interfaces are bad; yet it's what differentiates Vim from everything else, and thousands of people actively enjoy using Vim. Not to mention your OS is full of modal interfaces. "Why can't I type?" "You have a menu open." "Why can't I type when my cursor is over this window?" "You have a different window as your focus." "Why doesn't space pause this YouTube video?" "Because play wasn't the last button clicked."…

> Not to mention your OS is full of modal interfaces. "Why can't I type?" "You have a menu open." "Why can't I type when my cursor is over this window?" "You have a different window as your focus." "Why doesn't space pause this YouTube video?" "Because play wasn't the last button clicked."

None of these are examples of modes, at least not as the term is used in the context of user interfaces. (See https://en.wikipedia.org/wiki/Mode_(computer_interface)#Defi... for more information.) Modes hijack the entire behavior of the application until the user switches out of them. Windows and menus aren't modal unless they block all other input until the user deals with them.

On the other hand your last example, the CAPS LOCK key, actually is modal; once it's engaged, everything you input is going to be capitalized until you disengage it. You will also notice that the CAPS LOCK key is a common source of user problems in tasks where capitalization is significant, like entering passwords; and that for this reason there are frequent calls to remove it from the standard keyboard layout.

Re: Helping a Million Developers Exit Vim

#146
post #3

Obviously my personal bias, but it's emacs I can never remember how to exit from.

Emacs is definitely difficult to exit from. The difference is emacs usually isn't the default/fallback EDITOR on the system, so you rarely get dropped into it unknowingly/unexpectedly.

Also: Emacs is rarely if ever used in the terminal today, and exiting it through the standard desktop protocol ([X], Ctrl-[Shift]-Q, Alt+F4, ...) always works.

Re: Helping a Million Developers Exit Vim

#147

I'm somewhat amazed but mostly amused that the Vim developers care so little about user experience that they continue to ignore that people have trouble with exiting their tool and refuse to adapt to a more expected convention for exiting it.

I think the real problem is that vim is the default editor or people are writing tutorials and using vim. Asking vim devs to break the whole raison d'etre (modality) is kind of ridiculous.

Re: Helping a Million Developers Exit Vim

#148

I'm somewhat amazed but mostly amused that the Vim developers care so little about user experience that they continue to ignore that people have trouble with exiting their tool and refuse to adapt to a more expected convention for exiting it.

So much whining on this thread... Want to quit vim? How's about: 1- Hit ctrl-z 2- Type "kill -9 %" 3- Hit enter Result: dead vim. Heck, dead anything that was previously on the foreground. This works with emacs, vi, nano, and, I guess pretty much everything, since ctrl-z is captured by the shell and never gets sent to the application (I think).

I'm guessing the multitasking capabilities of the shell are not well known to those who don't know vim.

Nor how to open a separate tab session, do a `ps`, and kill that.

It should be shell 101, but it's not.

Re: Helping a Million Developers Exit Vim

#150
The last graph shows, of people who get stuck in vim what language they use the most. This means this could just be a graph of the most used programming languages. eg if there is a uniform 10% probability that anyone will get stuck in vim. I would find it interesting to see a graph that show what percent of each language's users get stuck in vim.
Post reply on HN