

Happy Birthday Vim, The Venerable Text Editor Turns 20 - pdelgallego
http://www.webmonkey.com/2011/11/happy-birthday-vim-the-venerable-text-editor-turns-20/

======
toyg
Tim O'Reilly makes a good point here:
[https://plus.google.com/107033731246200681024/posts/aZSZCsAc...](https://plus.google.com/107033731246200681024/posts/aZSZCsAcHbH)
:

 _"It isn't really Vim's 20th birthday. It's a lot closer to its 35th!"
Because of course, vim is really just an extended and improved version of the
venerable vi, the first screen-oriented editor for Unix.

While the article starts out with a history of vi, it somehow treats it as if
it were a grandparent, rather than the template for what remains. The core
design of vim reflects the design insights of Bill Joy, not those of Bram
Moolenaar, who refined and updated them."_

~~~
St-Clock
Well, I like this counterpoint too from the Google+ discussion:

"Sedat Kapanoglu: Technical innovation process on computing is too organic to
find a single originator. Everything is derived from something else and that's
what computing industry owes it's amazing progress in such a short term. Unix
was from Multics. C was from B which was from BCPL. , and vi was from ex. We
can consider vi itself as vim for ex from that perspective. I think there are
no distinct thought processes for creating and improving. All creation is
improvement and all improvement is a creation. We don't need to have a moment
of silence for the father on a kid's birthday. Let the kid enjoy the day."

~~~
chalst
Quite so. One quibble: ex is Bill Joy's reimplementation of ed. I think it was
always intended to be part of vi.

------
statictype
Vim has the kind of user lock-in mechanism that big corporations can only
dream of: modal editing.

Once you get sold on modal text editing it becomes very difficult to accept or
use any other editor that doesn't do it (which is pretty much every other text
editor out there). Sublime, Textmate, e - all great editors. Don't feel like
using any of them after 10 years of Vim.

~~~
tricolon
I'm still not sold on modal editing. Please sell it to me.

~~~
statictype
Stuff I can think of off the top of my head:

It's easier on the fingers. You can move around using jkl, perform clipboard
operations,deletions and other text operations generally without having your
fingers leave the main keyboard area to reach for the modifier keys or arrows.

It works especially well if you remap Caps to Escape.

It's logical: dd deletes a line. 10dd deletes 10 lines.

f+ moves the cursor to forward to the next '+' character on the line. 2f+ does
it twice - moves the cursor to the second '+' on the line.

df+ delete from the current position to the first + character.

Commands are chainable: d2f+ deletes from the current position to the second
'+' on the line.

In general when you have modal UIs (not specific to text editing) it makes it
easier to accomplish work as you're working in a 'mode' that is specific to
your task. When in insert-mode, your keyboard is used to insert text. In
editing-mode[1] your keyboard's functionality is now used for the sole purpose
of making edits and manipulating existing text. In visual-mode, the keys
provide functionality to easily highlight and manipulate highlighted text.

That said - modal editing does have its drawbacks. There's a higher learning
curve. And the lock-in thing I mentioned isn't necessarily a good thing. Non-
modal editors can reasonably emulate each other's keybindings allowing you to
easily shift between, say, Sublime and Textmate and Visual Studio. But good
luck doing any of that with Vim thrown in. Also, Vim users have to still learn
a reasonable amount of emacs keybindings in order to efficiently use the
command line and native text fields on Linux/MacOSX.

Also as someone joked recently - Vim has 2 modes:

1) Beep at me 2) Destroy all my text

[1] not actually called that but that's how I like to think of it

~~~
derleth
> It works especially well if you remap Caps to Escape.

And Emacs users remap Caps to Ctrl. Nobody really likes Caps, it seems.

~~~
toyg
No surprise there, it's just a legacy from typewriters after all.

These days, unless you're doing data-entry or a lot of SQL, caps-lock is just
wasting (a lot of) prime keyboard real estate -- on the home row, no less!

~~~
statictype
Sql is case insensitive isn't it?

~~~
toyg
yeah, but for various (historical) reasons people like to DO IT ALL IN
UPPERCASE TO DISTINGUISH LANGUAGE SYNTAX FROM "actual data".

As usual, computer science is an embarrassment for the computer.

------
dddddannyyyyy
Bah.. stagnation is not worthy of being called life.

I love vim because it is the best. I can't use anything else because nothing
else works like it.

I hate vim because it has stopped advancing. It has not had a good update for
5 years.

May 7, 2006 7.0 Spell checking, code completion, tab pages (multiple
viewports/window layouts), current line and column highlighting, undo
branches, and more

May 12, 2007 7.1 Bug fixes, new syntax and runtime files, etc.

August 9, 2008 7.2 Floating point support in scripts, refactored screen
drawing code, bug fixes, new syntax files, etc.

August 15, 2010 7.3 Lua support, Python3 support, Blowfish encryption,
persistent undo/redo

We are all still waiting for various types of extensibility, even though they
been in the top 5 sponsored requests for over almost 15 years. I normally
wouldn't be complaining about free software, but vim is donationware.

~~~
rbonvall
> I hate vim because it has stopped advancing. It has not had a good update
> for 5 years.

Vim itself has stopped advancing, but there is an active community developing
very useful and novel plugins. This has happened thanks to several plugin
management systems that have arisen independently during the last couple of
years.

------
xpaulbettsx
If you appreciate Vim and use it every day, make a donation to <http://iccf-
holland.org/> \- for many of us, Vim is an indispensable tool, if we all paid
ICCF what we properly owe Bram for his years of Vim work, it would make a huge
difference to people who really need it.

~~~
masomenos
Thanks for the reminder! This is something I've had at the back of my mind for
the 10+ years I've been using vim, so high time.

------
jamesbritt
Larger discussion here: <http://news.ycombinator.com/item?id=3187065>

------
tokenadult
As someone more than twice that old, I find it amusing when something twenty
years old is described as "venerable." The world of computer technology has
seen many fashions come and go, but some tools have been comparatively long-
lasting, and have been used through several generations of the newest and
greatest other technologies.

~~~
JoshTriplett
So very few, though. Many standards have lasted that long (deflate compression
immediately came to mind), but few specific tools have. The Linux kernel
turned 20 recently. X has lasted 27 years, and remained backward-compatible
(X11) for 24 years. GCC (24 years), Vim (20), and Emacs (35) have grown ever-
more widely used. How many other specific tools that we use today have that
kind of history?

------
JoshTriplett
Despite its age, I still find myself discovering new useful functionality.
Reading this article, I noticed that the screenshot had a shell running in a
buffer, which vim doesn't normally do. I searched for the text in the status
line, and found ConqueTerm.

------
alexis-d
I think it'll always amaze that we haven't been able to do better tools than
the goold old ones (Vim, Emac & Unix tools I'm looking at you).

~~~
ojbyrne
<http://www.joelonsoftware.com/articles/fog0000000017.html>

~~~
kiba
Nice article, but it kinda butt against chrome, which I like to upgrade every
single time it come out. (Actually, it get upgraded automatically when I tell
archlinux to update against itself.)

------
artursapek
Wow, VIM is just months older than I. Had the impression it was much younger.

------
sunils34
I honestly don't know where I would be without vim. Happy Birthday!

------
nobody31
dupe - [http://arstechnica.com/open-source/news/2011/11/two-
decades-...](http://arstechnica.com/open-source/news/2011/11/two-decades-of-
productivity-vims-20th-anniversary.ars)

