Slashdot Mirror


The Birth of vi

lanc writes "Bill Joy, co-founder of Sun, tells the story of how he wrote the vi editor. The article at The Register delves into his motives, who instigated the project, and some of the quirks of leaving a 'gift to mankind'. From the piece: '9600 baud is faster than you can read. 1200 baud is way slower. So the editor was optimized so that you could edit and feel productive when it was painting slower than you could think. Now that computers are so much faster than you can think, nobody understands this anymore. The people doing Emacs were sitting in labs at MIT with what were essentially fibre-channel links to the host, in contemporary terms. They were working on a PDP-10, which was a huge machine by comparison, with infinitely fast screens. So they could have funny commands with the screen shimmering and all that, and meanwhile, I'm sitting at home in sort of World War II surplus housing at Berkeley with a modem and a terminal that can just barely get the cursor off the bottom line.'"

65 of 459 comments (clear)

  1. So let the flame wars begin! by messju · · Score: 5, Funny

    (I'm using Emacs, BTW.)

    1. Re:So let the flame wars begin! by 91degrees · · Score: 5, Funny

      I hate them both.

      I'm not popular amongst Unix users.

    2. Re:So let the flame wars begin! by sniepre · · Score: 4, Funny

      Hi joe. :)

      --
      Is not life a hundred times too short for us to bore ourselves? -Friedrich Wilhelm Nietzsche
    3. Re:So let the flame wars begin! by donaldm · · Score: 5, Insightful

      Oh dear back to the eighties.

      I think the easiest way to sum up Emacs vs Vi is "vi" is for System Admins and people who want to get the job done quickly and efficiently without having to learn Control and Esc commands (if you look "vi" commands they are surprisingly logical compared to "Emacs"), while Emacs is for people who either have dedicated terminals or have a masochistic streak. This is not to say "vi" is better than "Emacs" in fact it is the other way round and if you are prepared to learn it then it is extremely powerful and can make you much more productive. Of course I am generalising but I do remember the first "vi" vs "Emacs" wars.

      If you want a graphical editor there is "gvim" or "xEmacs" both great if you have a GUI, however if you are moving between different Unix machines you have to remember that "xEmacs" or even "Emacs" as well as other so called "free" editors may not be installed so that is why most Systems Admins learn "vi" rather than learn "Emacs". Of course if you are a Systems Admin you should at least be aware of how to use "ed" as well.

      To sum up. If you like and can use an editor (not just "vi" or "Emacs") productively then go for it.

      Now bring on the "car" analogies. Please no "edlin" since you should be marked as "funny" or "troll"!

      --
      There ain't no such thing as proprietary standards only proprietary formats. Standards are by definition open.
    4. Re:So let the flame wars begin! by zeromorph · · Score: 4, Funny

      Why is parent not modded funny?

      Would someone with mod points and a pico sense of humor mod him accordingly.

      --
      "Hannibal's plans never work right. They just work." Amy/A-Team
    5. Re:So let the flame wars begin! by wakejagr · · Score: 5, Funny

      screw you guys, I cat everything through sed, and I like it that way!

      --
      Don't save Windows XP! http://www.petitiononline.com/jjw1xp/petition.html
    6. Re:So let the flame wars begin! by bsharitt · · Score: 3, Funny

      I've deleted Linux distributions(I'm looking at you Suse) if they didn't include Nano or Pico in the default install.

    7. Re:So let the flame wars begin! by Anonymous Coward · · Score: 4, Informative

      XEmacs isn't the X version of Emacs - it's a completely separate fork.

    8. Re:So let the flame wars begin! by Janek+Kozicki · · Score: 5, Funny

      I have a nano sense of humor, so I don't get it.

      --
      #
      #\ @ ? Colonize Mars
      #
    9. Re:So let the flame wars begin! by bunratty · · Score: 4, Insightful

      As someone else has pointed out, sometimes you simply don't have a GUI editor available. What are you supposed to do when you telnet into a machine and need to edit a file? I learned vi long ago when I was in such a situation, and it's still my preferred way to program. I think it's just faster to keep my fingers over the letters than to have to move them to the mouse, or even over to the arrow and ctrl keys. The esc key is about as far as they need to go, and only when I want to change from insert mode to command mode.

      --
      What a fool believes, he sees, no wise man has the power to reason away.
    10. Re:So let the flame wars begin! by maraist · · Score: 3, Informative

      First, I am totally with you - vi is a MUST for configuring UNIX servers remotely (or even locally) (I want to shoot our sysadmin when he uses nano or pico and "accidently" line-wraps a critical config item).

      "vi"'s defaults are completely oriented towards editing large text config files - better than ANY other editor I've ever seen. emacs often defaults to scrolling past the end of the screen (where you can miss important info if you're not careful). Other editors auto line wrap, or don't properly handle control or windows characters (vi shows nice ^M or whatever symbols). Search-and-replace is fast, and extremely expressive (moreso than any windowed dialog I've ever seen, including [xg]emacs). These are the tools of the sys-admin.

      That being said. Remote server management is best "designed" to use a web interface. Any shmuck can design an application that has a foo.properties or foo.conf or .foo But for all the effort that goes into writing the configuration API, you might as well embed a micro-web server (there is no language known to man that can't receive a trivial text input, reading only the 1'st line, and spitting out a canned text). It is just as easy (if not easier) to add configuration line-items via a web-form than via a config-file. The reason being, that changes to a properties file usually require restarting or pinging the core app. The micro-web service is directly updating the active operation (and can take whatever steps necessary to perform batch alterations.

      The only remaining elements are buffer-overrun exploits, DOS attacks, authentication... In the UNIX world, you have to be root to edit the config file, so that was considered secure enough. But apache port-80 proxying is commonplace now.. You get all your security up-front. Granted the flaw in my argument is that apache doesn't have web configuration - and probably never will.

      Every home-use NAT-box / router I've seen has http interfaces, and that's just dandy for me.

      --
      -Michael
    11. Re:So let the flame wars begin! by Ph33r+th3+g(O)at · · Score: 4, Funny

      But a nano sense of humor is 1,000 times as humorous as a pico one. Surely you got it!

      --
      I too have felt the cold finger of injustice.
    12. Re:So let the flame wars begin! by jonadab · · Score: 3, Informative

      > I was going to say the best way to sum them up is that they are both
      > ancient [...] relics with arcane "interfaces".

      Nobody, so far as I am aware, uses Emacs because of its default interface (which is, indeed, ancient and arcane). We use it because of its capabilities, and we customize the interface to suit our needs. Yes, there are people who *use* the default interface, because they are accustomed to it, because they needed Emacs for its features and never bothered to customize the interface. But they don't use Emacs *because* of the interface.

      > Sure, *nix geeks will love it, and they may even devout a surprisingly pathetic
      > amount of time mastering it because, "technically speaking, it provides a much
      > more robust set of features than any GUI-based program."

      You clearly don't understand Emacs.

      In the first place, it *is* a GUI-based program. (Yes, you can run it without a GUI, but you would only ever do so if for some reason no GUI is available, and certain features become unavailable under such circumstances; it is certainly not the normal mode of operation.) Second, the amount of time it can save you on a day-to-day basis over a normal text editor editor will pay back your initial learning-time investment in a few weeks, or at most a few months -- at least, it will if you are doing the kind of editing Emacs was designed for.

      Emacs is very good for partially automating semi-repetitive tasks. Some tasks can be fully automated, and that's fine, but many editing tasks cannot be automated in that fashion, because the user to constantly make decisions that the software can't handle. Yes, you *could* write an application in Perl or some other language that would repeatedly ask you questions about what to do, but writing it would be tedious and using it would be worse. Emacs, because it embeds and fully integrates the programming language into the text editor, solves these problems much more quickly and easily.

      Of course, if you don't perform the kind of editing tasks that Emacs is really good for, then you probably don't care. And if you aren't already a programmer, then learning lisp would be much harder (because you'd have to learn all the programming concepts, in addition to the language) and maybe not worth it. But that doesn't make it any less a valuable tool for those who need it.

      A more modern default interface wouldn't hurt it any, I'll grant you. But there is no alternative, currently. There is no tool that can do the things Emacs does, with the ease with which Emacs does them, and has a modern user-friendly default interface. Emacs is the only game in town.

      Sure, there are many text-editors. But there are not many *fully* programmable integrated text editing environments -- at least, none that I'm aware of.

      Learning to use a bandsaw is a silly waste of time if all you're going to do with it is sharpen pencils. An ordinary pencil sharpener is much easier to learn to use properly, takes up less space, is less dangerous, and will sharpen the pencil just about as quickly. Fine, use the pencil sharpener. But people who make dollhouse furniture are probably going to opt for the bandsaw.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    13. Re:So let the flame wars begin! by NickFortune · · Score: 4, Informative
      why would you learn any of those? At all? Most people today, including most computer people, don't seem to share your belief that it's evil to place your hand on the mouse.
      Because they're faster. Just like it's faster to use Control+S to save a document than it is to use the mouse to open the file menu, position the pointer over the save entry and press the button.

      Plus you can use vi or emacs in situations where you don't have a GUI available, or on boxes where there isn't much memory to spare, and you'd rather the resources went to GCC than to an X-Server.
      --
      Don't let THEM immanentize the Eschaton!
    14. Re:So let the flame wars begin! by billcopc · · Score: 5, Interesting

      Ok here goes nothing. I'm a DOS veteran, and I treated my DOS like most people treat their Linux, using extensive modifications and addons to improve usability and productivity. Way back there was Edlin, which even in 1984 felt really ghetto. Its saving grace was that it could be easily scripted for batch usage. Some people used Wordstar, but I personally couldn't stand it. Sure enough, I trivially coded my own full-screen editor in BASIC, and all was well. Then came MS-DOS 5.0, with its flashy Dos Shell and Edit.com, which was really just QBasic minus the Basic part. It worked, it had a cutesy little drop-down menu like Windows apps did, and its usage was obvious to even the most ignorant of users.

      So then one day I get my hands on Slack 2.0. BLECH! Where's the simple full-screen editor I've grown so fond of over the past decade ? :P vi didn't make any sense to me, and Emacs seemed like a huge mess of plugins that ate up more disk space than the OS itself. Now I'm obviously lacking in history when it comes to the Linux/Unix world, but why the hell do so few apps make use of the Function keys ? It's always Ctrl-something.. I'm fine with Ctrl-X and whatnot because they're where my hands would sit, but how hard would it be to just alias F1 to Help, F2 to Save, F3 to Open, in addition to the classic shortcuts.. It would certainly make it much easier to teach.

      And then there's the matter of arrow keys... sometimes they work, sometimes they don't. Ctrk-V or Y for pageup-pagedown, and something else for top/bottom. Now I agree that Unix came first and those shortcuts were probably in use way before Dos ever came along, but why hasn't anyone taken the liberty of adding the "idiot" shortcuts so that Joe Random Switcher can actually try Linux without spending 3 days in complete darkness trying to get a friggin cursor to move ? It's not like those movement keys have anything better to do, most of the time they just spew meta-characters like ^Q^1 or whatever.

      If a text editor does anything more complicated than receive text input and save it to disk, it's no longer an editor in my book. Type setting ? it's a word processor. Syntax highlighting ? it's a development environment. Kinky macro processing and pseudo-hypertext Info-page fornication ? it's a dirty old man's poor excuse for an OS. I'm talking about you, Mr Stallman.

      --
      -Billco, Fnarg.com
    15. Re:So let the flame wars begin! by Ithika · · Score: 5, Funny

      I don't gedit.

    16. Re:So let the flame wars begin! by timeOday · · Score: 5, Funny
      CLI will always have it's place... much like my half-retarded nephew who lives under the stairs... however as I for one can't wait for the day that intuitive interfaces rule the computing landscape with a soft, friendly fist!!!
      Why are you using a text editor at all? Shouldn't you be doing all your programming via drag and drop? And why does your post use text instead of more user-friendly pictograms? Maybe you can find yourself a nice keboard-free computer.
    17. Re:So let the flame wars begin! by h2g2bob · · Score: 4, Funny

      "VI VI VI - the editor of the beast" - RMS

    18. Re:So let the flame wars begin! by Anonymous Coward · · Score: 4, Funny
      Now bring on the "car" analogies.

      Okay: vi is a car, Emacs is a full cdr.

    19. Re:So let the flame wars begin! by Dirtside · · Score: 4, Funny

      sed?? You pussy! REAL men write the file once, through cat, and never have to change it, thus no need for an editor.

      Let me take care of the ObSequenceOfReplies:

      cat?? You pussy! REAL men open a file handle manually through /dev and type in hex!

      /dev?? You pussy! REAL men write the data directly to RAM by tapping exposed wiring to the DIMM contacts!

      wires?? You pussy! REAL men use huge electromagnets to manipulate the electrons inside the RAM directly!

      magnets?? You pussy! REAL men push the electrons into place using sheer force of will!

      I think that about covers it. Someone want to add a Chuck Norris variant?

      --
      "Destroy science and religion. Science would re-emerge exactly the same; but not religion." - Penn Jillette, paraphrased
    20. Re:So let the flame wars begin! by AlbertEin · · Score: 3, Informative

      (there is no language known to man that can't receive a trivial text input, reading only the 1'st line, and spitting out a canned text) Oviously you haven't used Malbolge
    21. Re:So let the flame wars begin! by kasparov · · Score: 3, Informative

      Or more likely 'joe' is a reference to joe, Joe's Own Editor, which has been around since the late eighties. In fact I used it exclusively back when Slackware was distributed on floppies--my temp files were always named bob so I could type 'joe bob' to edit them. Of course this was before I "did the right thing" and switched to vi. :-)

      --
      There's no place I can be, since I found Serenity.
    22. Re:So let the flame wars begin! by Chris+Mattern · · Score: 4, Insightful

      > I'm obviously lacking in history when it comes to the Linux/Unix world, but
      > why the hell do so few apps make use of the Function keys ? It's always Ctrl-
      > something.. I'm fine with Ctrl-X and whatnot because they're where my hands
      > would sit, but how hard would it be to just alias F1 to Help, F2 to Save, F3
      > to Open, in addition to the classic shortcuts..

      Pretty damn hard, actually. DOS editors had the advantage of knowing they'd always
      be sitting on an IBM-standard PC, with the same scan codes for the functions keys.
      But function keys aren't standard. Control-letter codes are. UNIX utilities therefore
      have real difficulty with function keys. You have to use termcap/terminfo, and
      make sure that it's correctly configured. Control-something will always just work.

      Sometimes it is set up for you, and it's always been possible to set it up for
      yourself. But most UNIX programmers have never cared that much because most
      UNIX programmers are touch typists...and touch typists hate function keys (and
      arrow keys, and mice) because they take your fingers off the home keys. Much
      better to use ctrl- or alt- codes that don't interrupt your typing.

      Chris Mattern

    23. Re:So let the flame wars begin! by evilviper · · Score: 4, Funny
      but why the hell do so few apps make use of the Function keys ?

      They're used, just not for what you want...

      I call them the "insert random garbage every time I reach too far" keys.
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    24. Re:So let the flame wars begin! by WilliamSChips · · Score: 3, Funny

      :%s/Ctrl+X Ctrl+S/:w/
      'Nuff said.

      --
      Please, for the good of Humanity, vote Obama.
    25. Re:So let the flame wars begin! by belmolis · · Score: 3, Insightful

      As someone who has been a touch typist for 38 years and a 25=year Unix person, I too find it extremely difficult to accept the claim that the keyboard is necessarily slower than the mouse. That just contradicts my experience. I remember the first time I tried to use a graphical editor - Bravo - the Xerox predecessor to MS Word. It was unbearable. Obviously you didn't need to learn anything by way of commands to do simple editing - just move the mouse and type something to insert, backspace or whatever it was to delete - but I found positioning the mouse precisely to be extremely painful. And this wasn't just due to lack of familiarity with the mouse. In the interim I've used the mouse extensively for some purposes, but I will find it slow and painful to edit documents by positioning the mouse. I usually use Emacs, but occasionally I use Vim, and sometimes I even use ed. I use OpenOffice Writer occasionally for some special purpose, such as creating a sign or poster with really large type or when it is more convenient to use exotic writing systems than it is in TeX. But I don't use it routinely in part because I don't like having to position the mouse. (Another reason is that it seems to start up even more slowly for me than for other people who complain about its slowness. I don't know why that is. It takes FOREVER.)

      Before believing in this $50 million worth of research, I would want to know a lot more about what they tested, who, and how. The stated results wouldn't surprise me if the subjects were indifferent typists without much experience with computers or with the software they were using. I would be very surprised if they were true of experienced users. Without the details of the studies, claims like this are simply uninterpretable. Anybody have a link to the actual studies?

    26. Re:So let the flame wars begin! by serialdogma · · Score: 3, Funny

      force?? You wimp, true scotsmen -like Chuck Norris- need only threaten the electrons.

    27. Re:So let the flame wars begin! by chromatic · · Score: 3, Funny

      Why do Macs have keyboards then?

    28. Re:So let the flame wars begin! by SmithSmytheSmith · · Score: 3, Funny
      As someone else has pointed out, sometimes you simply don't have a GUI editor available. What are you supposed to do when you telnet into a machine and need to edit a file?
      Uhm...copy the file someplace w/ a GUI?
  2. I've been using vi for so long... by tuxlove · · Score: 5, Funny

    I think in vi. When editing, commands just happen like thoughts. They are so ingrained in my brain I don't even remember the actual key sequences. When a vi newbie asks, "how do you do XYZ in vi?," I have to stop and think hard, because I don't even know the commands any more.

    Vi is the ultimate editor, for one main reason. It's a modal editor, so commands can be mnemonic. With editors like emacs, you're always having to hit ^X before commands, or with MS word you're always having to lift your hand off the keyboard to move the silly mouse around. With vi, you don't need a steenking mouse. Your hands never leave the keyboard. And commands make sense and don't require that you hit some yucky control sequence to initiate.

    I love my vi.

    1. Re:I've been using vi for so long... by daddyrief · · Score: 5, Funny

      I second you, I'll even double it -- I love my vvii :P

      --
      "Banking establishments are more dangerous than standing armies." -Thomas Jefferson
    2. Re:I've been using vi for so long... by Scarblac · · Score: 4, Insightful

      Ironically, it doesn't really matter all that much if a command is mnemonic or makes sense in some other way, precisely because, as you say, "they are so ingrained in my brain I don't even remember the actual key sequences."

      And from the point of an Emacs user, it doesn't seem so different to need to hit C-X before some commands, than to hit ESC and :.

      That said, they're both fantastic text editors. Programmers do their daily work with text, and these two text editors really reward the time you put into learning them. Who cares about a learning curve if this is the sort of tool your career is built around; you need power.

      --
      I believe posters are recognized by their sig. So I made one.
    3. Re:I've been using vi for so long... by martin-boundary · · Score: 3, Informative
      The Emacs command set is mnemonic as well ("mnemonic" here means that keystrokes are designed to be easy to remember). The basic Emacs commands exist on several logical levels.

      There's the character level ("C-f"orward, "C-b"ackward), and line level ("C-p"revious line, "C-n"ext line, "C-e"nd of line, "C-a" beginning of line, can't use C-b you see, so might as well use the start of the alphabet). That's when you think of text as rows and columns of characters.

      If you think of text as words and paragraphs, then you replace "C"ontrol with "M"eta (which is the Alt key on modern keyboards). "M-f"orward word, "M-b"ackward word, and so on, at least in fundamental mode.

      You can also think of text as regions within matching parentheses or other delimiters, then you can use the "M-C" commands (both Meta and Control + some mnemonic key) to move: "M-C-f"orward one expression, "M-C-b"ackward one expression, etc.

      What makes all this powerful is that emacs can recognize what kind of file you're editing, then it chooses good defaults for the various levels. So if you're programming in C, when moving around one word at a time, emacs doesn't get confused by the punctuation, and if you like to use something like CamelCase, then there's a minor mode which changes for "M-f"orward and "M-b"ackward word commands so the cursor stops before each hump inside an identifier instead of jumping to the next word.

      Unfortunately, emacs has so many commands that there's not enough keys on a keyboard to have simple mnemonics for all the things it can do. That's why we get things like "C-c C-o C-1" in esoteric modes. But if you use specialized modes, the idea is that you should select a key that you like and map the function to it. Usually, the functions keys F1-F12 are completely free to use for anything.

    4. Re:I've been using vi for so long... by quintesse · · Score: 5, Funny

      No no, it's the perfect first obstacle to weed out the people who shouldn't be doing any programming/writing on a *NIX system! A bit like entrance exams for universities.

      Of course, the first thing I did when I was confronted with vi back in the 80s was write my own editor.

    5. Re:I've been using vi for so long... by Gnavpot · · Score: 5, Funny
      Yeah, but which editor did you use to write the code for your editor?

      He wrote another editor for that purpose.
    6. Re:I've been using vi for so long... by value_added · · Score: 3, Insightful

      Now that's just plain wrong. The caps lock key is supposed to be mapped to ctrl! That's what any true Unix user would do, because it proves you learned Unix on a terminal designed for Unix with the caps lock in the correct place. PC users just don't understand.

      For anyone who hasn't quite got it yet (the joke, or the approach), once upon a time the Control key was located where the Caps Lock key is now located. How keyboards have changed, mostly for the worse, over the years is an interesting discusssion, but I'll leave that aside for now. The point if you're an emacs user, you need the Control key somewhere handy. If you're a vi user, you need the Escape key handy. By handy, I mean you're not taking your hands off the home keys and reaching for a key that you'll be using every few seconds.

      The common approach is simply to remap the Caps Lock key (a mostly stupid and useless key if there ever was one). Doing so is fairly trivial, and works without any sort of ill effect. On *nix systems, there's an example in xmodmap(1). For Windows, there's a utility provided with the various Resource Kits that's called remapkey.exe or something or other. Personally, I think vi is the cat's meow, and to add to that, the Escape key, while a staple of using vi, is also useful in many GUI applications, even on Windows, so it makes perfect sense to remap the key and have it handy.

      The real point about vi (and learning vi for those who haven't yet invested the time) is that those same key strokes that you've spent time learning, memorising and eventually reconfiguring to suit yourself can, and typically are, applicable to just about any application out there (Firefox included, though with some trouble). Using set -o vi in bash, for example, can make you feel like you're right at home. On the other hand, those seemingly all-purpose keystrokes don't work everywhere. Editing vi commands within vi aren't possible using vi keystrokes. Another common program is screen, which demands (mostly) a Control key combination entered before any other command. Further info and fun bed time reading is readline(3).

      It's worth noting that some vi users don't remap the Escape key, but use the Control-[ combination (which is actually the same as hitting the Escape key). I guess the habit could be learned over time, but personally I find the [ key is a bitch to hit regardless of what keyboard I'm using.

    7. Re:I've been using vi for so long... by Anonymous Coward · · Score: 5, Funny

      and since one editor must be written in another editor, something must have written the very first editor - therefore God exists

    8. Re:I've been using vi for so long... by Gnavpot · · Score: 5, Funny
      and since one editor must be written in another editor, something must have written the very first editor - therefore God exists

      Are you claiming that editors are intelligently designed?
  3. Recommended for new *nix users? by BarneyRubble · · Score: 5, Interesting


    > It was a world that is now extinct. People don't know that vi was written for a world that doesn't exist anymore

    I use vi everyday but i've long stopped recommending it to most people i introduce to linux.
    it really doesn't seem worth steep learning curve for most people.

    Do you recommend vi to all new *nix users now?

    1. Re:Recommended for new *nix users? by larien · · Score: 4, Insightful
      vi is worth knowing at least the basics of, simply because it's installed by default on 99% of Unix & linux systems. The only other editor you can pretty much guarantee to be installed is ed, which is even less user-friendly than vi.

      While emacs, pico etc are installed on most linux systems, you won't find them on Solaris, AIX or HP-UX.

      For an end user, they probably shouldn't worry too much as they'll have kedit or something in the GUI, but *nix admins should know vi.

  4. Speed of vi by larien · · Score: 4, Interesting

    The legacy of how vi was written is pretty much evident in the terse commands it uses - commands are short, to the point but an absolute bitch to figure out without some reference. However, the short commands are still useful in today's gigabit ethernet world with Gigahertz CPUs - the short commands are quicker to type and for plain text, I'm much faster with vi than any other text editor around.

  5. Those who forget history... by neongenesis · · Score: 5, Insightful

    This is good history to remember. Those who weren't there find it hard to appreciate the tremendous leap forward of Unix Version 6 and ed on a PDP-11. We had been using teco on our PDP-10 and the cousin of ed that was on Multics, but we had been getting into PDP-11s for more and more things. Comparing ed on Unix with the line editors available on PDP-11 DOS/BATCH and that new-fangeled RT-11 thing was amazing. Along with all the other tools available on Unix, the PDP-11 went from a toy to a state-of-the-art (for then) development environment. We were mostly on DECwriters and TI-Silent 700s runing hardwired 1200 baud at work and 300 baud from home over the modems. We started to get VT-100s about the time vi was being released and it was again a great leap forward.

    Thanks Bill Joy! I have used your work in the BSDs and Suns and all the followons over the years, but vi was a most important gift at an important time.

  6. Echoes of the past by frisket · · Score: 4, Funny
    Just confirms my {subliminal:emacs} unshakeable {subliminal:emacs} prejudice {subliminal:emacs} that vi had its heyday some decades ago.

    The time for dual-mode editors (where you have to press something before you can begin to type, and then press something else when you stop typing) is long since gone, thank goddess.

  7. From TFA: by smittyoneeach · · Score: 3, Funny
    finally there was ex
    And there was much ejoycing.
    (ay)
    --
    Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
  8. Hard to learn but worth it by jlherren · · Score: 5, Insightful

    vi was a horror when I started using UNIX systems and I couldn't understand why anyone would want to use such a strange editor. So I went with emacs and was happy. But after a while (dunno how this happened) I went back to vi(m) and invested the necessary time to learn it. I took me about a year before I could say that I'm able to use it efficiently, so the learning curve is pretty heavy. But at the end I don't regret it at all, because I feel a lot more efficient with vi(m) than with any other editor. I couldn't live without it now.

    Good tools are hard to master.

  9. Interesting Choice of News by icedivr · · Score: 5, Informative

    The article has definately triggered some nostalgic moments, but it's an article from September 2003 that reports on the content of an interview conducted in 1999. It isn't really news any longer.

  10. Re:No need for Emacs vs vi arguments by diegocgteleline.es · · Score: 4, Funny

    Yeah, ed is the best!

    "When I use an editor, I don't want eight extra KILOBYTES of worthless
    help screens and cursor positioning code! I just want an EDitor!!
    Not a "viitor". Not a "emacsitor". Those aren't even WORDS!!!! ED!
    ED! ED IS THE STANDARD!!!"

  11. Re:Too late by Alioth · · Score: 4, Insightful

    I use vi (actually, vim) all the time. Many people do. It is a *good* well featured editor which doesn't take up too much space. It runs on all the operating systems I use every day - OpenBSD, Linux, Macintosh and Windows. If I have a GUI, I use the GUI version. If I don't, I use the terminal version. It is consistent across all those four operating systems I mention regardless of whether I'm using it via the GUI or over an ssh terminal session. That consistency is worth _a lot_. It doesn't need the mouse either which makes it much faster to use. Vi is just as relevant today as it was back when it was written, possibly more so because of its consistency across systems.

  12. Re:Too bad vi sucks by fnj · · Score: 3, Insightful

    modal editors is the worst idea in the history of computing.

    Insert mode. Overtype mode. That's modal. I suppose you're against that.

  13. Re:Too late by _Shad0w_ · · Score: 3, Interesting

    I still use vim as my primary text editor, on Linux and Windows. It's just a neat little text editor; it does everything I want it to do and it does it efficiently. Plus I've been using it for years, so I'm comoftable with it. I see no reason to stop using it.

    I may have switched to using things like Eclipse for editing specific types of text file (Java, PHP, HTML and XML) and using Visual Studio for coding (because nowdays I'm primarily working on Windows), but vim is still my utility text editor when I want to quickly modify or look at a text file.

    I daresay a lot of people feel the same way about emacs; frankly they're entitled to.

    --

    Yeah, I had a sig once; I got bored of it.

  14. Not hard enough.. by B5_geek · · Score: 5, Funny

    I haven't found vi or emacs to be hard enough.

    That why I port edlin to every box I work on.

    --
    "The price good men pay for indifference to public affairs is to be ruled by evil men." ~Plato (427-347 BC)
  15. Obligitary joke by zakezuke · · Score: 5, Funny

    "My PID is Inigo Montoya. You kill -9 my parent process, prepare to vi. "

    modded down in three, two...

    --
    There is no sanctuary. There is no sanctuary. SHUT UP! There is no shut up. There is no shut up.
  16. emacs is for failures by Anonymous Coward · · Score: 3, Funny

    All code that doesn't fit an 80 column terminal was written by failures.

  17. Richard Stallman's model for emacs by Anonymous Coward · · Score: 4, Funny
  18. The ultimate Unix editor by Ambitwistor · · Score: 4, Funny

    I see so-called "hardcore" Unix geeks advocating 'ed'. Nonsense! The ultimate Unix editor is "cat >filename". All the others are for indecisive wimps who don't know what they're going to write, or incompetent losers who make mistakes.

  19. Join the Church of vi by Chrax · · Score: 5, Funny

    :w saves!

    I actually want that on a t-shirt. I would do it myself, but I don't think my stenciling skills are up to the task.

  20. Re:iI like vi by Col.+Bloodnok · · Score: 4, Funny

    nstresting comment!:wq

  21. Re:Too bad vi sucks by TheRaven64 · · Score: 5, Interesting

    Modal editors are a bad idea, but the thing is, most people don't actually want an editor. Most of the time, they want an electronic typewriter. Entering text and editing text are two conceptually separate tasks, and this is why vi works as an exception to the rule 'modal user interfaces are bad.' Vi is really two separate applications; one for entering text, and one for editing text. Because you often want to do these in quick succession, it allows you to quickly switch between them.

    --
    I am TheRaven on Soylent News
  22. Re:Unix console text editors are annoying by jgrahn · · Score: 3, Interesting
    Another problem with vi (and maybe others) is their growing dependancies on system libraries. I recently tried and install of vi which complained of a gtk dependancy; sheesh. This one [0] is from an embedded arm system (debian). Why do I need gpm when running vi?

    You mean libgpmg1. That's not related to GTK in any way (thank god).

    Personally, I am happy with nvi(1), "a 'bug-for-bug compatible' clone of the original BSD vi". No strange dependencies there. But then I use emacs for all longer editing sessions.

  23. my story by gsn · · Score: 3, Interesting

    When I was young and foolish I used notepad.
    When I was forced to learn unix, I chose pico.
    When I learned more about the GPL and linux I chose nano (a whole three orders of magnitude better).
    When I figured out that most of the physics and astronomy I do involves coding, I tried Emacs.
    When I found machines that didn't have Emacs or a network connection, I was shocked and horrified
    (these are remarkably common in the astronomy world though you wish they weren't)
    With no other recourse, I forced myself to learn vi(m). The vimtutor and docs were my friend.
    Now I do not need them. I learned the keys. Then I forgot them. My fingers remember though...
    J'y suis, j'y reste.

    --
    Reality must take precedence over public relations, for nature cannot be fooled.
  24. I call BS! On Bill Joy!?! by drfuchs · · Score: 4, Informative
    Sorry, Bill, but your memory has dropped a few bits. Even back in the 1970's, EMACS was very careful about doing only the absolute necessary screen updating, and worked quite well at 1200 baud. The code made all sorts of effort to take advantage of whatever capabilities your particular terminal had for moving text around on the screen by itself (such as inserting a character within a line without re-sending the whole line; ditto for inserting a new line without having to re-send the lines below it). See "The Display Processor" section of Stallman's "EMACS: The Extensible, Customizable Display Editor" 1981 paper for the ACM Conference on Text Processing http://www.gnu.org/software/emacs/emacs-paper.html / for more info on the optimizations involved.

    I remember once getting really fooled by this. I'd accidently created a file with two sequential copies of the text I thought I had. I searched for "foobar", which worked as expected; then I searched again. The screen didn't change, and the cursor didn't move. So, first I checked if the mainframe had crashed, but that wasn't it. It took many minutes of fooling around to realize what had happened: EMACS had figured out that the screen already looked right, so no need to do anything (except perhaps update a character or two on the status line). I wonder how many other people had similar experiences back in the day.

    So, sure EMACS may have been too big to run fast on Bill's machine, but bandwidth to the terminal had nothing to do with it.

  25. "vi" wasn't first, but it was free. by Animats · · Score: 3, Interesting

    Long before Bill Joy, UNIX had a good full-screen editor - the RAND editor. The RAND editor dated from the early 1970s. I used it at Ford Aerospace, and it was much nicer than "vi". But it wasn't free. You had to pay RAND for each copy.

    The RAND editor was much closer to "what you see is what you get" than "vi". It was a full-screen editor with all the commands on function keys. All the keys like "insert", "delete", etc. did what you'd expect. Labels were provided to show what each function key did. So it was far more user-friendly than "vi".

    The RAND editor was modestly portable from terminal to terminal. It worked best on HP terminals of the period, and was table driven so that it could support different devices. But you had to change the tables in C and rebuild to add support for a new device.

    The RAND editor had fewer "mode" issues than "vi". What you typed went in at the cursor position. For a few special commands, like "find", a special line at the bottom of the screen was used. But you could always see visually what was going on. Much better look and feel than "vi".

    Those of us who had both available used the RAND editor.

    Some of what Joy is credited for in the early days of UNIX reflects the fact that he worked for a tax-funded organization working under a contract that allowed them to give software away.

  26. Re:I use both Vi (vim) and Emacs. Brief is better by brocktune · · Score: 3, Interesting

    Up until recently I worked at Borland. My whole team was informed by teleconference that our work was offshored. Anyway, I used Brief in the 90s at other jobs, both before and after Borland bought it. So naturally, I assumed it would be easy to get a copy of Brief to do my development, given that my employer owns the program. Sorry, the help desk doesn't know anything about Brief and can't help you. So, I stared googling for a bootleg copy, from my Borland workstation, of Borland software.

    Any wonder Borland is about to go bankrupt?

  27. Re:No need for Emacs vs vi arguments by Ken_g6 · · Score: 3, Funny

    Naw, man, sed is way better than ed!

    Real geeks use an editor that doesn't display anything at all. And with sed, I can screw up all the files in a directory at once, instead of one at a time with ed.

    That's all I have to say, but I think it had to be sed.

    --
    (T>t && O(n)--) == sqrt(666)
  28. Modality, and special keys by PhotoGuy · · Score: 3, Informative
    One thing Joy didn't mention, but I think is probably safe to imply, and one of the reasons that vi is still my favorite editor: because of its modes, you don't have to rely upon special keys (arrows, function keys, etc.), because the navigation is done with the standard alphanumeric keys (which the typewriter keyboard was designed for, not for taking the hands off the home position to reach for arrow keys and such).

    One can edit in VI very efficiently without moving the keys from the home position, and doing unnatural stretches for odd keys.

    --
    Love many, trust a few, do harm to none.