Vim Turns 20
quanticle writes "20 years ago today, Bram Moolenaar released vim to the public. From the article:'The Vim text editor was first released to the public on November 2, 1991—exactly 20 years ago today. Although it was originally designed as a vi clone for the Amiga, it was soon ported to other platforms and eventually grew to become the most popular vi-compatible text editor. It is still actively developed and widely used across several operating systems.' Share your vim stories and your tales of battles with emacs users."
It is more mature. It was initially released in 1976, and is still being actively developed, too. :-P
Computer simulation made easy -- LibGeoDecomp
emacs would make a great operating system, if only it had a text editor worth a shit
Why would they mention the argument with emacs? That was settled years ago.
I'm still using vim for remote admin of servers which don't have X installed. Am I the only one? I guess not. I bet vim is editor number 1 for this task.
Video of some good progressive thrash music
Congratulations!
I like and use gvim all the time.
My main beef with it (solved by recompiling) is with fonts. I like the old fashioned font called "fixed". It derives from the ancient, non-scalable standard bitmapped font which came with X. It also happens to be very readable and to my eyes looks much sharper than the anti-aliased fonts. There are also excellent UTF-8 versions available too.
For some reason, this is almost impossible to get if one has gvim compiled as most distros do it (using gtk or gnome). Not only that but the fonts seem to change on the slightest whim of an update from the package manager.
The solution seems to be to recompile it with Athena or Motif support.
I must say, however that if Athena is the solution, then you really have problems :(
SJW n. One who posts facts.
... but it didn't work.
Emacs controls all its ex's.
I use vim, my wife uses emacs. We sleep in the same bed, unless she is swapping.
In Linux camp i lost my ":" key
Daily user thanks Bram. Vim is my hammer, my screwdriver and my wrench. I use it on almost every Unix-Like system I work on.
Although I'd be able to kick the gong around using a simple Vi, I find several Vim features making me much more productive. History and colours do it for me.
I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
I would just like to state that all editors are created equal.
:wq
Sdelat' Ameriku velikoy Snova!
...the most popular vi-compatible text editor.
Justin Timberlake is the most popular member of 'N Sync. Ha, I'm just C-y your chain.
i[ENTER] Happy Birthday, vim!!! [ESC]:wq![ENTER]
Honestly, both are excellent text editors. I, like most programmers, use the one that was favored at my university. Not because it was necessarily better, but because lots of other people used it and helped me get over the learning curve. I still use VIM today on every operating system I use or am forced to use.
At the end of the day, the text editor I use has to be something I use so well that I am not thinking about the text editor - I am thinking about the text I want to edit.
Can't we all just get along?
More Caffeine. NOW
Such a nice editor, I use it everyday and everywhere for everything c,java,python,tex,bash,.... Simple, fast, lightweight, just amazing.
:q
Thanks Bram for this editor and dedication of vim for charity
I like Vim.
But why isn't it the default editor in this edit box?
I like how the article is titled "Two decades of productivity" and the picture is of vim opened from a shell launched within vim. No shots of nicely formatted and highlighted code. Just a shot of the kind of crap you try to do when you're bored.
[Unintentional] Hilarity
:qa!
if ugandan kids use VIM too?
Good people go to bed earlier.
More like NANO, wtf?
In 1996, I developed Exuberant Ctags as a better ctags. Bram started including it in his Vim distributions and our programs were paired together in much the same was that Elvis was packaged with its own ctags clone, and Emacs was packaged with its own ctags. Eventually, Exuberant Ctags became large enough that it caused the Vim distribution to become too large to fit on a 5.25-inch floppy and Bram said it was time to let them grow separately. Exuberant Ctags, as well, got picked up by the Linux distributors as the resident ctags program.
I have always enjoyed working with Bram over the years and wish I could have met him. He is a very pleasant and easy person to work with, very accommodating, and very bright. I think very highly of him and I am glad to see his editor become one of the bulwarks of Linux distributions, as well as used on many other platforms.
Darren Hiebert
Comment removed based on user account deletion
Vim is the only editor I'll use. Well when I'm working in MS products such as Visual Studio I have to use ViEmu. Which works great since I have VIM inside VS. Love the fact that people are now emulating Vim. Love the that I can edit a 6M log file with no significant impact on the system and still have full search capability. Thanks Bram, I owe you days of saved time over the years.
Comment removed based on user account deletion
Comment removed based on user account deletion
ZZ
I occasionally have to use vim to edit the Makefile for emacs.
Comment removed based on user account deletion
:x
int main() { while(1) fork(); }
No, but I get trapped in pico and nano every time I accidentally end up in them.
The first *nix editor I used was vi on Solaris boxes many moons past. Now that I'm on Linux boxes I'm saddled with vim. Pretty much I'm OK with vim, but PLEASE GOD why is there this non-disable-able mode called "recording" or some such??? I never ever use it, nor do I want to use it, but I always find myself IN that damnable mode by accident when my fumble-fingered keyboarding hits the wrong key (which happens several times each and every day). I then have to fuss and fume and get back to normal mode. I'd be OK with this if I could just disable this behavior, or change the keystrokes required to enter that mode to something like PleaseStartRecordingModeForMeNow, but for reasons best known to Conan the Destroyer you either cannot disable this mode or the method by which you can is not known to mere mortals. Yes, I know that if I just gave "recording mode" a chance it would change my life and help me hook up with beautiful [gender choice here], but I don't want to learn a new trick. I want to have this mode go away. In the words of my 3-year-old grandson "don't want to can't make me."
I have it on second-hand authority that, while the kids at Kibaale Children Centre don't regularly use vim, they at least don't use emacs either... :)
:x
"For I desired mercy, and not sacrifice" -- God
Comment removed based on user account deletion
Next to gcc, vim is the greatest open-source project ever created. I've used vim every day of my life since discovering it back in 1996 as a replacement for basic 'vi' on a Sun Sparcstation. I'm currently using vim to write software on my MacBook Pro in a terminal window.
I started off learning vi on a DEC workstation back in the early 1990s while trying to keep my head above water as a freshman CS major. Since then, I've used vim inside of Visual Studio (with a plugin), inside of Eclipse (with a plugin), as the editor for the mutt mail client, and in a hundred other contexts.
Vim is excellent software.
http://www.gnu.org/fun/jokes/ed.msg.html
No, we are not idiots like you.
Pico and Nano are for children and idiots.
I use Emacs as an IRC client, an RPN calculator, a mini text browser, for browsing usenet, and I even play a couple of games in it... but when I edit text I use vim.
I love gVim (use it everyday at work) but god, some of it _still_ sucks.
- Can't map Ctrl-1, ... Ctrl-0 to custom mappings
- Can't distinguish between Ctrl-Char, Ctrl-Shift-Char, and Ctrl-Alt-Shift-Char
- Can't distinguish between TAB and CTRL-I
- Can't (re)map CAPS (I use CAPS in my games, remapping it to ESC is NOT an option)
- no way to "unbind" ALL keys
WHY is it so hard to find an editor that lets me use ALL the keys??
Vim would be perfect if it fixed the custom keybindings.
Amen. My SOP when installing a new system is "apt get purge nano".
Log in or piss off.
What would you replace it with?
As far as I can tell no one has yet invented a suitable replacement.
Elvis knock vim into a cocked hat!
No garish colour schemes or any of that nonsense.
Which would you rather use: an editor named after a Rock Star or one named after a brand of toilet scourer? I rest my case.
Stick Men
I learned vi years ago when I realized that on some Unix systems I may not have any other visual editor installed. It's still true today... when I install Fedora I have to use vi to edit files until I get emacs installed. I would recommend learning vi to anyone who uses Unix or Linux extensively. I would recommend emacs or some other editor to anyone else.
What a fool believes, he sees, no wise man has the power to reason away.
In bash, C-x C-e is shorthand for "invoke $EDITOR on the current command line and run the result when $EDITOR exits". If you export EDITOR=vim you can get vim instead of emacs, and all is happy.
Where's the love for Bill Joy? Vim is great and all, as are all the ports of vi, the plugins that give vi functionality to eclipse, firefox, etc... But really, isn't Bill the real hero here?
I use in in windows via cygwin, I use it on every linux server, desktop, and laptop I work on. I use it on my phone. I use it on my tablet. Vi's focus on dual modes, and no mouse, is just wonderful.
Thanks for vi Bill!
I like Vim because it integrates well with Linux, Solaris and Windows environments and has great syntax highlighting (by default!) for languages associated with the Cadence IC design tools we use at work (i.e. Skill and DIVA).
On *nix systems I like to compile it myself using Motif. Gives a common appearance across all the systems I use that resembles the Windows GUI.
bash: emacs: command not found
Not a problem for me.
Honestly, both are excellent text editors. I, like most programmers, use the one that was favored at my university. Not because it was necessarily better, but because lots of other people used it and helped me get over the learning curve. I still use VIM today on every operating system I use or am forced to use.
Interesting. At my school, emacs was the editor of choice, and I still ended up using vim.
I thought that most Linux distros had stopped including vi in the base install. OpenBSD is the only Unix-like I've used in recent memory that had vi, with vim coming via the ports tree.
I love using it. In my company, vim is mandatory for programmers. It certainly boosts a lot my productivity, and with the help of ctags, minibufexplorer, grep, vcscommand plugins, it's even better. Beats any other fancy GUI text editor.
give focus to a text box/area and hit CTRL+t to go into command mode. A lot of vi commands are supported, but CTRL+i opens the contents of the text area in VIM just in case :D.
:h topic. It has completion for most things including ex commands etc.
Pentadactyl is much more than this. It allows you to fully navigate and control your browser using keyboard only in very natural vim-esque way. It has extensive help. Just type
It's one of the reason why I love and use Firefox.
As the island of our knowledge grows, so does the shore of our ignorance.
vi(m) is like a dog, emacs is a cat. vim will always be there for you, is uncomplicated and reliable. emacs is mysterious, sometimes there sometimes not, and takes more patience to own.
I'm a dog person.
you are in a twisty maze of different passages.
C-x C-c
All hope abandon ye who enter here.
I expect nothing less than a Google front page banner for this event!
There's no editor more powerful than Vim or Emacs. People usually prefer other editors despite being less powerful, since that power comes with a big learning curve.
As for speech, I'm afraid you haven't thought of the implications of a room of programmers all talking to their machines.
Dilbert RSS feed
Haha. By cooncidence, mine is "dpkg --purge vim vi elvis." Because I hate it when it gets selected as sensible-editor and pops up in reportbug before I've had time to configure things.
Different strokes.
Someone had to do it.
If use vim as your editor then you might as well use bash's vi mode.
set -o vi
Comment removed based on user account deletion
Both vim and emacs are editors for people who do a lot of editing and writing code. Lots and lots and lots of it. Metric fucktons of it, in fact.
They are sophisticated tools that require a fairly great deal of practice to use properly, but once you master them, you can do wonders with them.
Graphical environments are easier on the memory; things are shown to you so you don’t have to memorize them. If you don’t need such things often, it is more efficient to search for them when you need them; if you do need them often, it is much more efficient and convenient to have them at your fingertips.
If I were a driver, I’d give you a car analogy now.
Ignore this signature. By order.
Sorry grandpa, we'll get off your lawn.
Why don't you tell us about your new lawn mower, or weed whacker? I bet you have some stories to tell about it.
Vimscript. Ewww. I know it takes backward compatibility seriously, but what I'd give for PCRE and syntax highlighting that didn't suck my netbook's CPU dry...
I use gvim all day every day with the added convenience of bcvi for editing files on remote servers. Thanks Bram!
Thanks Slashdot. It's nice to finally see a News for Nerds story again!
People think I'm nuts for using GVIM on my MacBook, but sometimes, it's just so much faster than the alternatives... I hope VIM is still around in another 20!
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.
Shh, geeks love to get up in arms about things.
The thing is,"new users" usually don't NEED vim or emacs. They can use gedit, an the like.
Now, "new software programmers," and "anyone else who needs to work with large numbers of very big text files....."
Yeah in those latter categories, the vi derivatives and EMACS are the only real choices, and I'd recommend VIM in a heartbeat over the lot. Yes it has a learning curve but the payoff is pretty quick when you are working in areas where you need the power.
LedgerSMB: Open source Accounting/ERP
I spend a heck of a lot of time in gterm using VIM. I do this because when you are talking to your computer (i.e. telling it what to do) GUI's quite frankly suck. GUI's are great for the computer giving you feedback, but the complexity of commands you can give the computer in a GUI go way down.
For example, suppose I want to tell my text editor:
Go to line 364. Then delete the next 74 lines of text. Then remove the next 10 # signs you see. Now, repeat that last step on line 42 on the next file and line 576 of the next file. Can you do this in a GUI? Yes. Is it easier (and less error prone) to specify this with a keyboard? Absolutely. :364[enter]
d73[down]
and so forth
In general if you need the power (because you work with large numbers of large text files, whether you are an author, a programmer, or the like), VIM rules. If you don't....
I get the impression that people complaining about VIM being CLI-based are the same people who complain about structured document generation for LaTeX, whether via LyX or the like.........
LedgerSMB: Open source Accounting/ERP
Vim is suppoed to be an easily extensible piece of software. It has a well-defined system for installing these extensions and a central repository in which extensions can be found.
It's really becoming quite annoying that whenever I find a new plugin that I would like to try out, I am berated by that plugin's project page for not having pathogen installed. My .vim directory is the result of years of my fine-tuning one of my most valuable tools as a professional. I don't want to throw out all that and hand over control to some third party script.
I suppose it began with those "vimballs" really. I never liked those either. I just don't get what was so complex about copying a plugin into ~/.vim. Are there *that many* Vim users who are sufficiently non-technical that they were finding this step prohibitively difficult? In my opinion the recent spate of Ruby-related hipsterishness that's enshrouded Vim brought with it a wave of new users who don't actually "get it" at all.
Case in point: At a recent user-group meeting for an unrelated piece of software, I witnessed an attendee who was a much more experienced programmer than I, and a very vocal proponent of Vim, pull out a laptop to show off a project. Some typing was required, so out came Vim, and what did I see but this self-proclaimed Vim-aficionado navigating around his file using none other than the fucking arrow keys. While presumably quietly congratulating himself in his own head for showing the rest of us what a hardcore old-skool geek really looks like.
Bram and I were guest presenters of Tucows at Linux Expo '99. We were sitting in the lobby of the Radisson on 57th and 7th waiting for our shuttle to the Javits center. We were sitting on the bench nearest the door and in comes a guy who walks around us nonchalantly and then decides to leave... but on his way out, attempts to take a coat from the railing behind us that was left there by a patron of the in-hotel cafe during breakfast.
:)
Bram, mid-conversation reaches up and joltingly grabs the guy, takes the coat out of his hand, points his finger at the man's chest and says "No" as if he were a dog trainer talking to a misbehaved rottweiler. Then he handed the coat to the owner with a disappointed look that said "you should know better" and hands the thief to the doorman, then he sat down and continued talked right where he left off as if nothing had happened.
This entire scenario took less than 10 seconds to occur and will be with me for the rest of my life.
Bram is a great guy... very nice, very smart. I wish him well.
A lot of people probably already know this, but fr those who don't:
vim also has a file manager built in! You don't have to specify full text paths in a little ":" line. You can choose files "visually".
Instead of doing vim blah.txt, give a directory as the argument:
vim /home/programs/blah/
The rest you'll have to Google.
I'm not a lawyer, but I play one on the Internet. Blog
I use vim/gvim daily, and have never, NEVER, used the HJKL keys to navigate for any purpose other than to see what it is like. And yet I often see Vim equated with love for HJKL. Do all you vi/vim users here really use these keys for navigation?
To me they're much less functional than the arrow keys because they suddenly stop working in Insert mode. I get the argument for them - that you don't need to take your hand off the "home row" to use them, but you still need to move your fingers to a non-standard position (one key to the left), and need to reach up to ESC to get out of Insert mode first anyway.
"Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
'd not heard of this vim before, so thought I'd give it a go on its birthday - I'm even using it to write this message!
Happy birthday!
^C^C^C^Dquit
Now there's one hoopy frood who really knows where his towel is!
Of-course someone might argue that needing the shift key is really another keypress, but they're probably emacs users... ;-)
Seeing as you are the vim user, you will have significantly less RSI. At times like this it, uh, comes in handy.
If I have seen further it is by stealing the Intellectual Property of giants.
If I use it for a week my brain goes into vi mode. I find that I am typing wq! in word documents
The Single UNIX Specification and POSIX require vi to exist. You may find stuff breaks in interesting ways if it doesn't...
I am TheRaven on Soylent News
Best thing about vi (and vim): It's there. Always. Push comes to shove, if users have a basic knowledge of vi, a good tool always at hand. Small, light but, in the hands of a competent user, very powerful...
"not as clumsy or random as emacs. An elegant editor, from a more civilized age."
I once used a programmer editor called crisp, which was really neat to use. It's DOS equivalent was something from Borland, called Brief. It was really neat, the way one could fill up an entire column w/ an array - something not possible w/ either vi(m) nor emacs.
That said, I once read the O'Reilly book on Emacs, and thought it might be a good working environment if one's not working in X. Incidentally, why the hostility to Emacs? If anything, I've always found vi (and less so vim) a pain to use. Incidentally, is vim part of the GNU package, or is it something from someone else? Which license does it come under - GPL, BSD,...?
You forgot good ole sh ;-)
;-)
And why stop there? There is also ash, dash, es, fish, mksh, psh, pysh, rc, scsh, tcsh and wish. Maybe someone should write another that incorporates all of these
Wow, this is great, thanks!
I ported Vim to OS/2 when I had to work with that particular operating system.
I think that I was more productive on that job in total, even with the time spent on the port, than if I had not been able to use Vim.