
Helping a Million Developers Exit Vim - var_explained
https://stackoverflow.blog/2017/05/23/stack-overflow-helping-one-million-developers-exit-vim/
======
drewg123
I met my wife because she was stuck in VI. I was a unix sysadmin in the early
90s, and she was a grad student. She came to me for help (like most of the 1st
years did) because she couldn't get out of vi. However, to be fair, this was
not her fault per-say. She actually knew how to use vi, but just couldn't find
the ESC key.

Does anybody remember the DEC keyboards where there _was_ no traditional ESC
key, but it was F11?
([http://www.cosam.org/images/vt220/keyboard.jpg](http://www.cosam.org/images/vt220/keyboard.jpg)).
Yeah, we used DECstations in the grad labs, and whenever a new grad student
asked me a question in the 1st week, I'd answer "F11", and 90% of the time I
was right.

~~~
rebootthesystem
Most people have no idea why vi made sense way back when (and, in my opinion,
does not today).

I used VT100 terminals for years on both mainframe and CP/M systems. Keyboards
were not very standardized before then, the mouse did not exist and most text
editors had to use all sorts of convoluted commands to allow you to do
anything.

[http://www.vintagecomputer.net/digital/VT100/DEC_VT100_SYSBO...](http://www.vintagecomputer.net/digital/VT100/DEC_VT100_SYSBOOT.jpg)

I ran the first version of AutoCAD back then on a CP/M system with 64K of RAM,
an S-100 RAMDISK card, an 8087 math co-processor on yet another S-100 card,
another card with a graphics co-processor and a 1K x 1K CRT-based analog
display. This is the reason AutoCAD has the console. You would type the
commands on your VT-100 terminal and the graphics would happen on the stand-
alone display. You had to load and unload modules based on what you were doing
in order to control memory consumption. AutoLISP, the version of LISP included
with AutoCAD, was invaluable.

Oh, yeah, 8 inch floppies and no hard drives.

Everything worked.

~~~
cryptonector
It is the only editing system that makes sense to me. That's because modal
editing means fewer modifier-key combinations are needed, and no mouse is
needed. Compare with.. any other editor, where the only thing that might save
you from RSI is enabling sticky keys, and even then, if it isn't emacs you
still have to heavily use a mouse.

For a great number of tasks, being a vim or emacs pro means doing things
faster than any other editor could do them (except, _maybe_ refactoring). And
vim will save you from from more RSI than emacs by having fewer modifier key
combinations.

Every IDE needs a vi mode.

Wherever I can I use tmux+cscope+ctags+vim+shell as my IDE. One tmux session
per-project, nested in one big tmux session for all projects. Window #0 has a
cscope with a an $EDITOR wrapper that opens new edits in new, appropriately
titled tmux windows and returns control to cscope. Windows #1 through #4 are
for a shell. The rest are for editing files opened via cscope. It's a dream
for C/C++, even Java. cscope needs support for more languages, that's true,
certainly, but this gets me quite far.

~~~
PhasmaFelis
To me, using "no mouse is needed" as a positive is like building a car that
uses extra pedals to steer and saying "no steering wheel is needed". Mice are
great. I _want_ to use mice.

~~~
zzalpha
Mice have their place. But they have issues with precision, RSI, and force the
need to move the hands to/from home row.

And if you use a laptop as a primary work tool, being able to avoid the
touchpad (or trackpoint for those ThinkPad users out there) is a huge
advantage.

------
bandrami
(Attribution is questionable, but as a geezer I feel the need to make sure the
younger generations at least are familiar with this:)

ed is the standard text editor

Let's look at a typical novice's session with the mighty ed:

    
    
      golem> ed
    
      ?
      help
      ?
      ?
      ?
      quit
      ?
      exit
      ?
      bye
      ?
      hello? 
      ?
      eat flaming death
      ?
      ^C
      ?
      ^C
      ?
      ^D
      ?
    
      ---
      Note the consistent user interface and error reportage.  Ed is
      generous enough to flag errors, yet prudent enough not to overwhelm
      the novice with verbosity.
    

(As a geezer, I also have to say I really am impressed with ed in some ways,
and you should never be afraid to try it when you have a specific and known
edit you want to do.)

~~~
kccqzy
I find that with a specific and known edit, it's far easier to do using sed
and awk. In particular awk Has better power-to-weight ratio at traditional
text processing. I think typical awk scripts could very well be shorter than
the equivalent python scripts that do the same thing.

~~~
throwaway2016a
I have written hundred+ line awk programs. For stream text editing it is
excellent at what it does and it's install base is huge. Rarely do I encounter
a *nix machine without it on there.

~~~
throwaway7645
Perl & Python are also installed on most UNIX machines I've seen. I know Perl
was invented to address weaknesses with Awk. I use all 3 to some degree, but
is there a reason you like Awk?

~~~
flukus
The pattern -> action format of awk is really nice for simple apps, it's a
built in for loop + switch statement that reads from stdin. It's also simple
to change what the record/column seperators are, so it can handle some quite
complex data shapes with zero code.

Awk and python don't deal with stdin/stdout quite as nice (AFAIK) and there is
always the temptation to do too much with them.

As an example, the other day I wrote a DSL in awk, it takes a mostly CSV file
in and outputs sql commands. If you did it in python you could run the sql
directly, but the awk stdio version makes it easier to combine as needed. If I
want to run the generated sql I can pipe that to the sql cli client, if I need
to hand it to QA I can just pipe to a file etc.

~~~
throwaway7645
Neat, will have to look into that. I think Perl might have a command line
switch with similar behavior that runs your command across every line of
whatever you pipe to it, but that might not be what you're saying.

------
blhack
I spent almost 10 years doing IT for a company whose backend was based
entirely on as/400\. If you've ever used a system like that, I'm sure you know
where this is going...

The console's that the front-desk or clerical users used every day had a
_steep_ learning curve. It was something that you would definitely not be able
to walk up to and just intuit.

 _However_ , once you figured it out, there is _never_ going to be a faster UI
that you are ever going to experience in your life until we figure out direct
BCI stuff.

It was funny watching the new people come on board and insist that we should
change the UI to something with a mouse (probably web based). They had no idea
that more immediately intuitive was actually a step backwards.

My point is that just because something has a steep learning curve, that
doesn't _necessarily_ mean that it's a bad design.

~~~
Houshalter
I just hate programs that change patterns that are standard everywhere else.
E.g. 99% of software uses control+c and control+v to do copy and pasting, so
of course software that maps it to something totally different is going to be
very frustrating. The same thing with vim using nonstandard way of quitting.

Discoverability is another problem. You can have weird keyboard commands, but
make it possible to find them without searching stack overflow. I miss when
applications had a big bar at the top of all the commands you could do and
their keyboard shortcuts. I'm on chrome right now, and copy and paste is
hidden away in a menu. And the keyboard shortcut for it isn't mentioned. How
do you think people learned the keyboard shortcut in the first place? Or apple
phones have a bunch of gestures that are useful, but no one knows about
because you can't discover them.

~~~
flukus
> The same thing with vim using nonstandard way of quitting.

How do you quit man? How do you quit less?

'q' to quit is pretty standard in the TUI world.

~~~
Houshalter
I tried it and typing q does not seem to exit the program. Nothing I tried
worked and I had to exit the whole terminal.

~~~
ecshafer
You have to type :q to quit. : Is the command mode.

~~~
appleiigs
Missing one step. <esc>:q

~~~
dllthomas
Actually, the missing step is the <cr> at the end.

The <esc> at the beginning is only necessary if you've already got into insert
mode. That said, it'll not do any harm.

------
burkaman
The most viewed question is even more relatable:
[https://stackoverflow.com/questions/927358/how-to-undo-
last-...](https://stackoverflow.com/questions/927358/how-to-undo-last-commits-
in-git)

You can get the top viewed questions here:
[http://data.stackexchange.com/stackoverflow/query/53109/ques...](http://data.stackexchange.com/stackoverflow/query/53109/questions-
with-most-views)

~~~
logicallee
hey Linus, undo last 1 git command (as though it had never been entered):

    
    
      git undo 1
    

thanks.

~~~
emodendroket
I'll bet between the reflog and aliases you could do that.

~~~
kccqzy
How would you undo "git reflog expire"? How would you undo "git push origin
-f"?

~~~
hdhzy
> How would you undo "git push origin -f"?

Remote reflog contains this info (if enabled).

Of course not all commands would be reversible, especially not plumbing.

------
ChuckMcM
I saw the bumper sticker ":w saves" and thought, to myself I wonder how many
people "get" that.

I suggested a long time ago that vi/vim bind ^C to exit. It currently is
equivalent to 'esc' (it puts you into command mode if you aren't there and
types the message "type :quit<Enter> to exit Vim". I'd much rather it popped
up 'exit vim? y/n?' and the next key would determine if you exited or not.

~~~
sirfz
That looks more like emacs behavior though, vim rarely (never?) prompts the
user for anything. You enter a command, you get a reaction (either an action
like quits vim, or a message indicating something happened) -- which I
personally prefer much more than getting annoying prompts.

~~~
icc97
You get a prompt if you try to exit and you haven't written the buffer to file

~~~
kevhito
Not in (my) vim you don't. You get:

> E37: No write since last change (add ! to override)

~~~
icc97
Yeah - I figured that was as close as Vim came to a prompt

It is prompting you to add a !

~~~
JdeBP
It has closer things to prompts. Try editing a file when the last time around
you terminated vim without giving it a chance to clean up its .*.swp file. (-:

------
bluedino
Hah. Back in the old days, when I didn't have a second computer to look up
help online, I just powered my Linux PC off if I accidentally got trapped in
vim. Later on, I'd just close my PuTTy session.

Then I finally took a little bit of time to learn vim.

~~~
dba7dba
Haha. I survived using vim JUST knowing Esc and :ws for years~.

I was in a hurry to learn Linux and knowing vim was you know required. So I
just learned the most basic in vim. I don't want to think about how much time
of my life I wasted because I didn't know more about vim. Classic lesson about
technical debt costing time/money over long term...

------
ksenzee
When I told my thesis advisor (in about 2001) that I was looking into backend
web development as a career, he gave me a post-it note with the following
content:

    
    
        chmod 0644
        [Esc] :wq
    

Best advice I've ever gotten.

~~~
falcolas
Yes, please do chmod your SSH key, netrc, and other sensitive files as world
readable!

Sincerely, that other guy on your multi-user OS.

~~~
nisa
Not sure if is there is something more subtle in the note but around 2001 (or
even later until today) chmod -R 777 was pretty popular advice to solve all
kinds of 'problems'. Usally 0644 is a sane default for web stuff.

~~~
ksenzee
Yep, that's exactly what he meant: Here's how to get out of vi when you get
stuck there, and here's how to undo the stupid thing you just did to try make
your website work. For web stuff you usually do want 0644, or 0664 if the
files are owned by your user account and not apache.

------
hawski
Reading title I thought that it will be about helping people switch to a
different text editor. One that is not an improved version of a text editor
from 70s.

I am a vim user, but I want to switch to something different. I mainly use it
now, because of inertia. Don't bother with replying how editing model of vim
is still relevant today. Or how one should think about vim as a language - a
verb and a motion. I know all those arguments and I even agree with them to
some extent. However I would argue that vim's interface is quite taxing for
the mind - at least for my mind. Editing may be efficient, but I read more
code then I edit.

~~~
codingninja
Try Sublime Text, it has a VI mode that helps the move.

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

~~~
groby_b
C-M-footpedal1-q

~~~
flavio81
I seriously would like to have a pedalboard with, say, 5 pedals that i could
map to specific functions on Emacs.

It would be terrific, particularly for Lisp development with SLIME.

~~~
kazinator
Hmm.

MIDI foot controller -> USB MIDI interface -> computer -> driver -> user space
scriptology ...

What do you think? That would easily give you ten pedals.

I use a 1993 vintage ART Ultrafoot X-15 I got off Craigslist --- for my guitar
rig, not a text editor. :)

[https://www.google.ca/search?q=ART+Ultrafoot+x-15&tbm=isch](https://www.google.ca/search?q=ART+Ultrafoot+x-15&tbm=isch)

~~~
misingnoglic
Why not just play the piano for programming?

~~~
kazinator
A MIDI foot controller isn't a musical keyboard (though such things do exist,
mimicing organ pedals). It's used for MIDI program changes. I have a MIDI
programmable guitar pre-amp, and so in combination with this pedal, I have
access to various amp settings just by stepping on various buttons.

------
dwyer
Why would you ever exit vim?

~~~
hartator
Sometimes you'll need to update it for example.

~~~
OJFord
It's presumably possible to update and spawn a new instance from inside vim,
but I won't say it's sensible.

------
icc97
I'm having a go at using Vim full time after years of dabbling.

I attribute the weirdness of Vim to it being like learning a completely
different actual language similar to learning French if you're an English
speaker.

With an editor you do almost everything through muscle memory, and so like
speaking a language it's subconscious.

Unless you've got a French English dictionary or Google Translate you've got
very little hope.

The problem is most GUI editor users assume that it's just an editor like
they're used too.

The only way to learn it, is like a language by speaking it all the time and
changing the pathways in your brain.

I want to get round to writing a translators guide for Sublime Text users on
the basis that's probably the most similar GUI based editor to Vim. Then most
people can translate their own editor to what ST does and from there figure
out Vim.

------
nevatiaritika
> It looks like developers in Ukraine, Turkey and Indonesia are getting stuck
> in Vim quite a bit: it makes up a larger portion of their Vim questions than
> in any other country. In contrast, in China, Korea and Japan the fraction
> going to this question is one-tenth as much. That might indicate that when
> developers in these countries enter Vim, they usually meant to do so, and
> they know how to get out of it.

I'd say no. I work in Japan and here everybody uses a Japanese equivalent of
StackOverflow. This conclusion is so wrong.

~~~
djrogers
How is the conclusion wrong? If there is a cohort of developers in Japan that
do use SO, then the statistics are still valid even if _all_ developers in
Japan don't use it.

~~~
nevatiaritika
Because the traffic is based on % of all vim visits. This means, if less
Japanese visit, the share they have in the total % of all vim visits is also
less.

------
dageshi
I'm going to be perfectly honest, I got trapped like this in vi, decided that
anything so complicated to exit out of wasn't for me and stuck with nano ever
since.

~~~
twic
I am also a nano user. I learned it because i use pine (now alpine) for email.
I've stuck with it because it annoys my vi-using friends so much.

------
heeen2
> It looks like developers in Ukraine, Turkey and Indonesia are getting stuck
> in Vim quite a bit: it makes up a larger portion of their Vim questions than
> in any other country. In contrast, in China, Korea and Japan the fraction
> going to this question is a tenth smaller.

From my experience, people at least from Korea are very likely to develop on
windows, even when targeting linux or even embedded linux.

You can tell from the msdos line endings and comments in Korean that are in a
weird multi byte encoding that I could not make vim display correctly. I think
they use some sort of sftp synchronization tool like WinSCP when you edit a
file remotely.

I read that Windows is really deeply rooted in their IT culture, so much so
that banking sites are required to use a special encryption scheme implemented
in ActiveX. I can see why that would discourage people to use a different OS
for their daily needs, let alone convince corporate IT to support dual boot.

~~~
0xfeba
IIRC, they had regulations about banking security that mandated some IE6
ActiveX plugin. They are just now, or just have, coming around to changing
that.

------
hartator
My favorite method:

    
    
        <crtl>+z
        kill -9 %1

~~~
heeen2
user: that just typed ^Zkill -9 %1 into the text area :(

(vim captures ^Z in input mode)

------
kobeya
> It looks like developers in Ukraine, Turkey and Indonesia are getting stuck
> in Vim quite a bit: it makes up a larger portion of their Vim questions than
> in any other country. In contrast, in China, Korea and Japan the fraction
> going to this question is one-tenth as much. That might indicate that when
> developers in these countries enter Vim, they usually meant to do so, and
> they know how to get out of it.

More likely it means they are running Windows...

------
jondubois
That's funny because I feel that exiting vim is easy. On the other hand,
exiting from nano is a nightmare and makes no sense to me - To make matters
worse, it's difficult to find info online because it's hard to explain nano's
confusing interface with keywords. I hate how git made nano the default editor
on Ubuntu. Every time I install git, I have to remember to change the configs
to use vim as the default.

~~~
tdb7893
Maybe I've taken some crazy pills recently but I thought nano displayed the
hotkey to exit on the screen.

~~~
jondubois
Actually it's exiting when you have unsaved changes which is confusing, the
second prompt that comes up makes no sense to me. Also it shows a caret ^
character to represent the ctrl key which is confusing.

------
joshbaptiste

      E492: Not an editor command: Wq

_sigh_ Story of my life

~~~
Pete_D
Shift-key slippage kept biting me so hard that I gave up and bound an
unshifted key to command mode (personally `nnoremap <Space> :`). No more
accidental :Q.

------
mmphosis

      EDITOR=/Applications/TextEdit.app/Contents/MacOS/TextEdit
    
      cd /usr/bin
      rm vim vimtutor
      ln -s /Applications/TextEdit.app/Contents/MacOS/TextEdit vim

------
DannyB2
What about people who get stuck in Emacs and are unable to exit?

They end up using Emacs lisp to create all other operations that they ever
need on the computer. Emacs becomes their only environment.

------
void-star
Am I the only person who clicked on this link hoping it would provide guidance
and help on how to switch to a different text editor after being "poisoned" by
vi for so long?

Whenever I write code (or anything else) in another editor I still always have
to carefully check diffs to confirm I don't have any vi control mode
characters interspersed with whatever I was writing.

But I still can't quit using vi for everything else or my productivity goes
into the toilet.

vi why can't I quit you?

------
Paul-ish
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.

~~~
var_explained
The latter is indeed what that graph is showing: what percentage of each
language's users get stuck in Vim (or more precisely what % of their Vim
visits are to that question). It's not being confused with the most used
programming languages.

~~~
Paul-ish
Ah, excellent!

------
a_lieb
Assuming it takes an average of 1 minute for someone to look up the answer and
quit Vim, the readers of this question alone spent a total of _2 years_
looking up how to quit Vim. Whether or not it was a good design choice, it
goes to show how much of people's time and energy is at stake when you make
software at enormous scale.

------
JdeBP
It's interesting to observe that I am the only person to have spoken up about
alarm bells going off when it got to the part about Ukraine being the place
that visits the Stack Overflow WWW page the most. No-one in this discussion,
or in other discussions that I have read, has yet said:

> _Hold on a minute! This is a WWW page in English, and yet you have the
> Ukraine, Turkey, Indonesia, and Pakistan as the top four countries by
> visitor? And the highest placed majority anglophone country is Canada, in
> sixteenth place? Hold your horses! Something is not right, here._

I have seen this pattern myself, on one of my WWW servers. Ukraine and the
Russian Federation are second and third on the list ... for HTTP. For HTTPS.
however, it is a very different story.

On the basis of my own experience, I question the accuracy of the statistics
posted, and the accuracy of the conclusions based upon those statistics.

------
Animats
UX, the early days.

I once typed "EDIT" to Interlisp when in the wrong mode, and Warren
Teitelman's "Do What I mean" system printed "=EXIT" and exited the program
without saving. DWIM was tuned rather closely to Warren's personal typing
errors.

------
ElijahLynn
Unfortunately that answer is wrong. The way they should have been taught is:

ZQ - Quit without saving

ZZ - Quit with saving

~~~
xs
But :q and :quit does in fact quit the program. It's also the command I've
been using for 20 years... Why do you think it's "wrong"?

~~~
ElijahLynn
Those are slower. ZQ is three keypresses. :q is four keypresses.

~~~
GlickWick
The people trying to get out of Vim probably don't care about having to press
one extra key to escape it.

~~~
ElijahLynn
Right, but if it is the first thing they learn most will stick with it for the
rest of their life. We should teach them the most efficient way first.

In my experience almost all of my colleagues over the past 5 years only new of
:q, not ZQ.

------
darrmit
I remember getting stuck in emacs as a teenager on my only computer and having
to just hold the power button down to get out because I had no way to search
the Internet for the exit command. Haven't used emacs since. Good times.

------
ajross
I can still remember sitting at a VT-220 in the college computer lab with my
first Unix account (on a MIPS DECstation of all things), running emacs[1],
getting stuck, and then sheepishly having to yank the power on the terminal to
fix things.

[1] Would have been emacs 18.something at the time. Not sure if that predates
the built-in tutorial or if I just missed it. I remember running the tutorial
not long thereafter on a proper workstation where I felt comfortable I could
close the window.

------
rz2k
When using a "ZZ" in command mode, I accidentally hit a ctrl-z every now and
then. It took me a while to finally figure out that "fg" in the shell will
bring the suspended vim session from the background to the foreground, so that
I didn't have to kill the process.

------
jszymborski
Not that it entirely matters, but those country/prog. language stats are
useless since they don't normalise to site-wide traffic (or at least they
don't seem indicate they do).

Anecdotally, would get stuck in Vim having thought that the override command
was :!q instead of :q!...

------
mattbgates
I remember my first dealings with Vim. It was awful. I kept having to hit the
X button and reconnect, only to find that nothing saved. I've since switched
over to nano and prefer it over any editor in Linux. Easy to use, easy to
save. That's how it should be!

~~~
milesvp
Sadly, nano has (had?) the nasty habit of adding invisible characters on save
(some combination of \r \n). I once almost got into a fist fight with a
coworker over this, until he let me show him that his modifying the config was
why some application kept crashing on restart.

~~~
mattbgates
Good to know miles. I've used VIM, but it is more strict in editing and takes
a while to get to know. nano is just a plain editor. I'll keep a lookout for
it if something doesn't work.

------
dschuetz
There are two kinds of people - those who were able to exit vim, and those who
stuck in it.

------
lming
Spent a few hours to create a website for it:
[http://exitvi.info/](http://exitvi.info/)

Interestingly, I found domains like howtoexitvim were registered immediately
after this post showed up on HN.

------
mythrwy
Why should we encourage exiting?

Perhaps the mission is not complete and you should keep the file open until
there are zero defects, everything is properly commented and you 100%
understand everything and then some.

At that point _maybe_ Vim shall let you exit!

:)

------
rqebmm
_sighs wistfully_ I still remember the first day I was able to exit vim
without looking it up. It's right up there with that one time I wrote a
function that compiled and worked on the first try.

Good times.

------
dreamcompiler
Long, long ago in my programming infancy, I memorized a three-word ritual that
has saved me countless hours over the years. It should be taught to freshmen
CS students everywhere: Colon Queue Bang.

------
praptak
I've seen my share of :wq's actually submitted to source repos.

------
rahoulb
I find files called :waq on my file system at least once per week

------
molecule
nearly 24M, now

 _> Github search for ":wq" returns more than 7,000,000 results
[https://github.com/search?q=%22%3Awq%22&ref=cmdform&type=Cod...](https://github.com/search?q=%22%3Awq%22&ref=cmdform&type=Code*)

[https://twitter.com/kennethn/status/470771879397949441?lang=...](https://twitter.com/kennethn/status/470771879397949441?lang=en)

------
amelius
And this is what it looks like: [1] :)

[1]
[https://www.youtube.com/watch?v=zdcPZc21agk](https://www.youtube.com/watch?v=zdcPZc21agk)

------
ZenoArrow
I barely use any Vim, but I'm more confused about there being some hidden
complexity in exiting Vim that I'm not aware of.

Isn't it just...

[Esc] :wq

...or...

[Esc] :q!

...depending if you want to save the current document or not?

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

~~~
tcoff91
Ok, so anyone with any terminal experience but no vim experience would press
<ctrl>-c.

Then, the program tells them "Type :quit<Enter> 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.

~~~
zero_iq
Try actually following those instructions. They don't work. There is a step
missing, and you may get warnings even if you know to hit escape first.

~~~
Gracana
You don't have to hit escape, ctrl-c puts you in normal mode.

------
est
The irony is that if someone asks the same question about a different editor,
it would probably get closed by a bunch of mods and admins immediately.

------
mangecoeur
It doesn't help that the instructions within Vim to quit are clearly just
wrong if following them to the letter doesn't actually work :P

------
motoboi
I remember the first time I was presented to Vim, my friend taught me to exit
it by pressing CTRL-Z, lol. I think he kept it that way for years.

------
paultopia
I wonder how many views there are for questions on exiting the numerous REPLs
that are similarly unintuitive. (Node, Elixr, etc.)

------
keithnz
the hardest thing is, after their experience in trying to quit vim is then
trying to tell them "No, it's actually quite an awesome editor....no it's not
a piece of #$%!%.....no truly, it's good! .... oh you're back in your nice
safe IDE, ok ok, we'll talk later" :)

------
onwardly
Funny comment from the blog post:

"I've been using vim for 10 years. I never could figure out how to quit."

------
agumonkey
Would have been funny phrased with "quit" or "leave" for the double entendre.

------
mioelnir
I sometimes do a an IT jeopardy during interviews and :q! is "sysadmin 100".

------
bigeast
Add "set insertmode" into your friends' vimrc, then watch him burn :D

~~~
wruza
That's cruel. Also alias vim="rm -f" in .bash_profile

------
golergka
Oh, I hoped they finally invented something to help fight this addiction.

------
smnplk
:q!

~~~
equalunique
& afterwards, run vimtutor

------
m-j-fox
But it's so easy: [ctrl-z] kill -9 %1

You won't get out of notepad that easily.

------
jordigh
Say what you want of Emacs, at least it has a clear exit strategy.

~~~
jbmorgado
Unplugging the computer to shut down the Emacs OS?

------
vladimir-y
Want to edit text use Vim, want to edit code - use proper IDE.

~~~
isthisnagee
Is code not ... text?

~~~
twic
Code is usually represented as text, but it's not 'is' text. Or, since text is
bytes, should we all be using hex editors for everything?

------
xs
How does one view the top viewed questions on stack overflow?

------
_Codemonkeyism
Next: Helping a million developers join two lines in vim.

~~~
bballer
Shift + j

------
caycep
I'm highly amused this got 336 comments...

------
bobzimuta
ez

1\. close terminal

2\. remove all the temporary .swp files from the open buffers i just aborted

------
eth0up
esc

!killall -9 vim

------
subcosmos
kill -9 is your friend!

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

~~~
vopi
It literally everytime you boot the first screen tells you how to quit and get
help. So..read the screen that comes up Everytime? If you try Ctrl c it tells
you it's :q.

~~~
theandrewbailey
That's the point. That behavior is contrary to the expectation. Ctrl+C should
not display a message: Ctrl+C should quit immediately.

~~~
bryanlarsen
On many editors ctrl-c is the copy key. Not a good key to exit on...

~~~
kpil
It's the other way around - mapping copy to ctrl-c was a bit stupid...

~~~
slrz
Yep. Apple got this one right with the Cmd key. Much saner than the context-
dependent hijacking of the control key with its long-established conventional
usage.

------
jerrylives
That's well and all for vim but I've been trapped in ed for almost two
decades!

~~~
rhinoceraptor
?

------
kul_
Did you also show her Sex.

~~~
dang
Commenting like this will get your account banned here, so please don't do it
again.

We detached this comment from
[https://news.ycombinator.com/item?id=14405790](https://news.ycombinator.com/item?id=14405790)
and marked it off-topic.

------
ben_jones
Isn't that exclusively used by middle aged computer scientists?

~~~
jaredsohn
Even if it is, I don't see the relevance of this comment.

~~~
ben_jones
_Exclusively_ used by

 _Middle_

 _Aged_

 _Computer_

 _Scientists_.

E.M.A.C.S.

~~~
jaredsohn
Still not relevant (the earlier comment; this comment does help clarify your
intent in the other one). Hacker News isn't Reddit or Slashdot.

------
draw_down
Ugh, these types of editors drive me batty. Why can't it just be easy to quit?
Why, why?! If I absolutely must use an editor in the terminal I use nano.

~~~
chpmrc
Nano? nah...no.

