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
that is all.
Why would they mention the argument with emacs? That was settled years ago.
The battle that never was.
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!
:wq
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.
It took some searching to get around Microsoft's safety things about replacing Win components, but, I replaced my Notepad with GVIM on my box. I do nearly all my coding, log reading, etc with vim.
I just got a new Mac yesterday. Installing macvim was one of the first things I did.
I for one welcome my vi overlords.
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
Honestly, both are excellent text editors.
Both are outdated relics. Yes, I still use vim, but I never recommend either to new users.
Comment removed based on user account deletion
You only look 40.
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
I occasionally have to use vim to edit the Makefile for emacs.
Comment removed based on user account deletion
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... :)
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.
What would you replace it with?
As far as I can tell no one has yet invented a suitable replacement.
VIM came in really handy when I needed to delete extremely massive text lines from an XML file. Almost all the other editors croaked but VIM took it like a champ and 5 minutes later I was done.
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
Back around 1996 or 1997, we were using old DOS based 286's as consoles for our embedded application. During debugging, when we had all debugging options turned on, we would capture the output to disk and this often resulted in a large file. The problem we were solving was buried somewhere in a large (for the time) several megabyte file. The DOS editors we had could not open the file because of the size. These DOS computers were not on the network, and the files were too big for a floppy, so there was no way to move the file off to a more powerful machine to take a look.
Enter VIM on DOS to the rescue. We copied over VIM to the PC and opened the big file, and searched for the error message or string we knew was buried in there somewhere. It took several (maybe as many as 10) minutes, but VIM found what we were looking for, and we could see the relevant debug information nearby. After that it was easy to fix the bug.
When you need a simple no windowing compact, but powerful editor, VIM is a good tool to have around.
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.
In the 21st century using VI or VIM or GVIM is strange!! It is a great tool for coding ONLY if you don't have a GUI (SSH, etc). I don't see any advantage of using it for serious software development when there are so many amazing and ultra powerful editors around.
We should be thinking of editors that can recognize speech not the ones that require your fingers AND sometimes your toes (emacs)!!
Happy anniversary but it's time to put it to rest.
When was vi released? Still on all *nix systems prior to loading vim. Still functional.
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 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!
Maybe this is an opportunity to ask what I've been wondering for quite some time now: Why are you folks so obsessed with how _awesome_ vim and/or emacs are? If you have to use a terminal, ok, maybe, but that is not my point. The normal situation even for a software developer is to have a graphical environment, with a mouse. Now let's suppose you do not want to use all the comfortable things an IDE gives you (already lost me here, but okay). In that situation I still prefer gedit or something alike. It does what you folks claim makes vim so great: SIMPLE text editing, syntax highlighting, lots of extensible features, and does'nt get you in the way. Vim on the other hand DOES get in your way with its frackin key combos and modes. So what kind of great functionality do I miss here? And what can there even be, after all it is still just a text editor we're talking about. I had to use vim at my university, so it's not like I've never been instructed how to use it, but as soon as I had a choice again, I closed the terminal and opened whatever graphical, mouse-aware editor there was.
Fuck vim. vim tries too hard to be like emacs, but it's got too much baggage and useless features. nvi ftw.
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.
Emacs is a text editor, too?
VS 2010 kicks ass yo homies.
Emacs is a nice OS. Only its text editor is a bit shitty. ;)
In other words: I think people's beef with Emacs is that it is a great example of the inner platform anti-pattern.
Use butterflies
(Oblig. xkcd)
I've used a wide variety of edits and IDE's hands down VIM is my favorite, everything right at my finger tips and fully configurable! I maybe conflating Vi and VIM but damn the torpedoes fully ahead!
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...
VIM has so many features that are just annoying distractions. After I search for "foo" I don't want every single "foo" in the file highlighted for ever and ever. Color highlighting is great except that I can't read yellow on a white background. If you turn all that stuff off, then VIM parenthesis matching breaks. I gave up and compiled the old "vi" sources and I run that. It doesn't have unlimited undo but I can read the screen again.
vi(m) > emacs
emacs sucks. /. community ... now... FIGHT!
I use gvim all day every day with the added convenience of bcvi for editing files on remote servers. Thanks Bram!
Real Programmers
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.
:q!
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
But when I do, I prefer Vim. Stay productive my friends.
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.
and congratulations =) - Using vim since 96
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
Sometimes, a small task doesn't quite require a full script.
Say I have a CSV and want to copy all files listed in column 4 to a new directory.
So, in comes a Regexp. Wait six lines have not been converted?
Let's find them. Look, a user input error, I can fix that right in place and repeat that Regexp. There, all converted.
Now let's try the first line. Run it through a shell. Works correctly. Do the rest. Damn 5 errors.
Let's find them. Oh look, spaces in file names. Undo, Undo, Undo, modifiy Regexp, redo, redo, redo.
I like vim.
'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!
Search/replace using Lisp expressions.
Viper mode.
I can turn my Emacs into vi/vim at will. I cannot turn vi/vim into Emacs.
Fight over : )
Notepad.
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
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,...?
When I'm buckling down to write some serious code, I use Vim. When I'm writing a quick TODO list, I use Vim. I've used Vim as my main text editor since I started using Linux. Great program, great philosophy. On the other hand, I don't hate Emacs, I think it's a great PDF viewer.
Vim is an excellent program. (software is plural)
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.
I used vim as my pine editor for years, and only gave up using pine about 3 years ago.
I have written code, and been a writer and reporter on non-tech topics and all of my creative work has been done in vi/vim.
Hell, I have a draft of a novel written in vim.