Stories
Slash Boxes
Comments

News for nerds, stuff that matters

The Birth of vi

Posted by Zonk on Sat Jan 06, 2007 06:13 AM
from the please-keep-emacs-trolling-to-a-minimum dept.
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.'"
This discussion has been archived. No new comments can be posted.
The Birth of vi | Log In/Create an Account | Top | 459 comments (Spill at 50!) | Index Only | Search Discussion
Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • So let the flame wars begin! (Score:5, Funny)

    by messju (32126) on Saturday January 06 2007, @06:21AM (#17486758)
    (I'm using Emacs, BTW.)
    • by 91degrees (207121) on Saturday January 06 2007, @06:24AM (#17486766)
      (Last Journal: Friday June 11 2004, @11:15AM)
      I hate them both.

      I'm not popular amongst Unix users.
      [ Parent ]
    • Re:So let the flame wars begin! (Score:5, Insightful)

      by donaldm (919619) on Saturday January 06 2007, @07:10AM (#17486890)
      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"!
      [ Parent ]
      • Re:So let the flame wars begin! (Score:4, Informative)

        by Anonymous Coward on Saturday January 06 2007, @08:20AM (#17487102)
        XEmacs isn't the X version of Emacs - it's a completely separate fork.
        [ Parent ]
      • Re:So let the flame wars begin! by Southpaw018 (Score:2) Saturday January 06 2007, @09:36AM
        • Re:So let the flame wars begin! (Score:5, Insightful)

          by bunratty (545641) on Saturday January 06 2007, @09:49AM (#17487526)
          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.
          [ Parent ]
        • Re:So let the flame wars begin! (Score:5, Informative)

          by NickFortune (613926) on Saturday January 06 2007, @10:42AM (#17487908)
          (http://www.nymar.demon.co.uk/)
          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.
          [ Parent ]
          • Re:So let the flame wars begin! by mad.frog (Score:3) Saturday January 06 2007, @02:21PM
            • Re:So let the flame wars begin! by NickFortune (Score:3) Saturday January 06 2007, @03:00PM
            • Re:So let the flame wars begin! by scribblej (Score:3) Saturday January 06 2007, @04:01PM
            • Re:So let the flame wars begin! (Score:4, Insightful)

              by belmolis (702863) <billposerNO@SPAMalum.mit.edu> on Saturday January 06 2007, @04:06PM (#17491056)
              (http://billposer.org/)

              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?

              [ Parent ]
            • Re:So let the flame wars begin! by chromatic (Score:3) Saturday January 06 2007, @04:54PM
            • Re:So let the flame wars begin! by itismike (Score:1) Sunday January 07 2007, @11:39AM
            • Tog's results don't apply in all cases. by ChaosDiscord (Score:2) Sunday January 07 2007, @02:04PM
            • I left my nitroglycerine-fueled flamethrower.... by abb3w (Score:2) Sunday January 07 2007, @02:58PM
            • 1 reply beneath your current threshold.
        • Re:So let the flame wars begin! by 1u3hr (Score:3) Saturday January 06 2007, @11:53AM
        • Re:So let the flame wars begin! by Phleg (Score:2) Saturday January 06 2007, @12:22PM
        • Re:So let the flame wars begin! by The Bastard (Score:1) Saturday January 06 2007, @01:19PM
        • Why use a real editor? by crucini (Score:2) Saturday January 06 2007, @02:14PM
        • Re:So let the flame wars begin! by that this is not und (Score:1) Saturday January 06 2007, @05:44PM
      • Re:So let the flame wars begin! by Sigma 7 (Score:2) Saturday January 06 2007, @09:41AM
      • Re:So let the flame wars begin! by theonetruekeebler (Score:2) Saturday January 06 2007, @10:54AM
      • Re:So let the flame wars begin! (Score:5, Interesting)

        by billcopc (196330) <vrillco@yahoo.com> on Saturday January 06 2007, @11:23AM (#17488266)
        (http://fnarg.com/)
        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.

        [ Parent ]
        • Re:So let the flame wars begin! (Score:5, Insightful)

          by Chris Mattern (191822) on Saturday January 06 2007, @02:30PM (#17490146)
          > 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
          [ Parent ]
        • Re:So let the flame wars begin! by Penguin Programmer (Score:1) Saturday January 06 2007, @02:44PM
        • by evilviper (135110) on Saturday January 06 2007, @02:50PM (#17490368)
          (Last Journal: Monday October 15, @11:53PM)
          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.
          [ Parent ]
        • Re:So let the flame wars begin! by alex.cordero (Score:1) Saturday January 06 2007, @05:56PM
        • Re:So let the flame wars begin! by XdevXnull (Score:1) Saturday January 06 2007, @06:27PM
        • Re:So let the flame wars begin! by mikek3332002 (Score:1) Saturday January 06 2007, @09:09PM
        • 2 replies beneath your current threshold.
      • by Anonymous Coward on Saturday January 06 2007, @11:54AM (#17488632)
        Now bring on the "car" analogies.

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

        [ Parent ]
      • Re:So let the flame wars begin! by Javagator (Score:2) Saturday January 06 2007, @12:28PM
      • Re:So let the flame wars begin! by jedidiah (Score:2) Saturday January 06 2007, @05:55PM
      • Re:So let the flame wars begin! by Mr. Protocol (Score:2) Saturday January 06 2007, @07:14PM
      • Re:So let the flame wars begin! by It'sYerMam (Score:3) Saturday January 06 2007, @08:54AM
      • Re:So let the flame wars begin! by Tony Hoyle (Score:3) Saturday January 06 2007, @09:33AM
        • 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.
          [ Parent ]
        • Re:So let the flame wars begin! by Anonymous Coward (Score:1) Saturday January 06 2007, @10:04AM
        • Re:So let the flame wars begin! by the_womble (Score:2) Sunday January 07 2007, @03:48AM
      • Re:So let the flame wars begin! by jonadab (Score:3) Saturday January 06 2007, @10:32AM
      • by timeOday (582209) on Saturday January 06 2007, @11:51AM (#17488576)
        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 [wikipedia.org]? And why does your post use text instead of more user-friendly pictograms [wikipedia.org]? Maybe you can find yourself a nice keboard-free computer [wikipedia.org].
        [ Parent ]
      • Re:So let the flame wars begin! by WilliamSChips (Score:2) Saturday January 06 2007, @03:38PM
      • Re:Today's Editor War: Eclipse vs. NetBeans by cibyr (Score:1) Saturday January 06 2007, @08:02PM
      • 2 replies beneath your current threshold.
    • by wakejagr (781977) on Saturday January 06 2007, @07:58AM (#17487040)
      (Last Journal: Tuesday April 26 2005, @06:00PM)
      screw you guys, I cat everything through sed, and I like it that way!
      [ Parent ]
      • by Dirtside (91468) on Saturday January 06 2007, @12:08PM (#17488742)
        (http://matt.waggoner.com/ | Last Journal: Tuesday February 17 2004, @02:03PM)
        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?

        [ Parent ]
      • Re:So let the flame wars begin! by gone_bush (Score:1) Saturday January 06 2007, @10:07PM
    • emacs is for failures by Anonymous Coward (Score:3) Saturday January 06 2007, @08:45AM
    • by h2g2bob (948006) on Saturday January 06 2007, @11:53AM (#17488616)
      (http://en.wikipedia.org/wiki/User:H2g2bob)
      "VI VI VI - the editor of the beast" - RMS
      [ Parent ]
    • Re:So let the flame wars begin! by melikamp (Score:2) Saturday January 06 2007, @02:27PM
    • Re:So let the flame wars begin! by UnknownSoldier (Score:2) Saturday January 06 2007, @04:37PM
    • Re:So let the flame wars begin! by nonymous (Score:1) Saturday January 06 2007, @05:45PM
    • 2 replies beneath your current threshold.
  • Fast Thinking ? by foobsr (Score:1) Saturday January 06 2007, @06:23AM
  • No need for Emacs vs vi arguments by LoonyMike (Score:1) Saturday January 06 2007, @06:25AM
  • by tuxlove (316502) on Saturday January 06 2007, @06:26AM (#17486772)
    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.
  • Recommended for new *nix users? (Score:5, Interesting)

    by BarneyRubble (180091) on Saturday January 06 2007, @06:32AM (#17486788)

    > 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?
  • Speed of vi (Score:5, Interesting)

    by larien (5608) on Saturday January 06 2007, @06:33AM (#17486792)
    (http://riddoch.org/ | Last Journal: Saturday March 01 2003, @10:55AM)
    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.
    • 1 reply beneath your current threshold.
  • Those who forget history... (Score:5, Insightful)

    by neongenesis (549334) on Saturday January 06 2007, @06:41AM (#17486834)

    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.

  • eek! by rucs_hack (Score:2) Saturday January 06 2007, @07:06AM
  • Echoes of the past (Score:5, Funny)

    by frisket (149522) <peter@silma r i l . ie> on Saturday January 06 2007, @07:06AM (#17486882)
    (http://silmaril.ie/cgi-bin/blog)
    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.

  • From TFA: (Score:4, Funny)

    finally there was ex
    And there was much ejoycing.
    (ay)
    • Re:From TFA: by ettlz (Score:2) Saturday January 06 2007, @07:47AM
  • iI like vi by v3xt0r (Score:1) Saturday January 06 2007, @07:23AM
  • Hard to learn but worth it (Score:5, Insightful)

    by jlherren (1025754) on Saturday January 06 2007, @07:26AM (#17486946)
    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.
  • by cdn-programmer (468978) <terr.terralogic@net> on Saturday January 06 2007, @07:39AM (#17486980)
    Brief (by underware) is better.

    I use both VI and Emacs and I just miss Brief. I thing is that the code was sold to Borland which last I looked became Impress (which isn't impressing me) and the code base is shelved. Can we OSS the code base?

    I understand the issues. What I do not understand is why the HUGE advancements in VI for instance are so obscure that I use it at only a very primative level. Then we have Emacs and xEmacs.

    I think we need some courses put together for kindergarten kids. The biggest issues is that most people are not willing to spend endless hours digging through unorganised and disjointed documentation. So we don't learn what our tools can do.

    This is sad.

    Here is what I think. I think editors have been around for 40 years at least. Some have horrible personalities. But the issue is not the personality... it is the person who loves the personality.

    So perhaps we need to ask why I cannot ask Emacs to present the full "Brief" personality. I know that Emacs can do this. I've programmed a number of elisp commands. The issue then becomes.. how do we work as a community?

    I am certain there are at least a billion answers. I kinda think there is a lot of code laying around that the authors of which pained over and they have "given up".

    I do not know all the things VI can do. I wish I did. I wish I could rent a lecture that showed me. Numbers I got are that this costs $1000 a minuet.

    Maybe this is why its not there.

    Alas
    • by brocktune (512373) on Saturday January 06 2007, @12:27PM (#17488924)
      (http://slashdot.org/)
      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?
      [ Parent ]
  • by bl8n8r (649187) on Saturday January 06 2007, @07:42AM (#17486984)
    I've been using them since 1993 and have never gotten used to them. I got hooked on the Borland 3.1 IDE and IMHO it was a better text editor. I appreciate the efficiency of nano and others when logged in over a serial line, but I really miss BC. One of the biggest problems has been keyboard sets. A Sun keyboard gives different scan codes than a PC and if the terminal settings don't take this into account, things get wacky. You end up with a complete evolution of keys and combinations in each editor just to cut and paste a line of text *ugh*. Nothing the same between them. 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? All I want is a simple, independant text editor that fits in a small space. The mouse isn't even useful in vi (directly). Another curious feature of these text editors is people seem to fancy themselves l33t h4x0r5 when they master the hjkl keys of vi or other un-intuitive keyboard combinations. People, you've not cracked a Gibson here; it's just a text editor. Go fix Bind, then we'll all be impressed.

    [0] vim.basic: error while loading shared libraries: libgpm.so.1: cannot open shared object file: No such file or directory
    • Re:Unix console text editors are annoying by Anonymous Coward (Score:1) Saturday January 06 2007, @09:28AM
    • by jgrahn (181062) on Saturday January 06 2007, @09:50AM (#17487544)
      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.

      [ Parent ]
    • Re:Unix console text editors are annoying by BitchKapoor (Score:2) Saturday January 06 2007, @02:07PM
    • 1 reply beneath your current threshold.
  • Interesting Choice of News (Score:5, Informative)

    by icedivr (168266) on Saturday January 06 2007, @07:47AM (#17487008)
    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.
  • Vi is really good for editing the emacs makefile by david.emery (Score:2) Saturday January 06 2007, @08:07AM
  • Trolling for controversy? by hammarlund (Score:2) Saturday January 06 2007, @08:08AM
  • Vi: great stuff (Score:3)

    by GreatBunzinni (642500) on Saturday January 06 2007, @08:08AM (#17487066)
    I may be a young whippersnapper with only a couple of years of non-MS Windows experience under my belt but if there is one thing that I really felt in love in the unixy-way of doing things then that thing is vi (or vim). Sure, it has a very steep learning curve. After a lifetime of notepad-like editors, who in their right mind finds all those modes and obscure commands palatable? Yet, after a bit of teeth cringing in front of a terminal editing text then all those obscure commands start to sink in, make sense and even getting indispensable. The vi way of editing text is such a time saver that starts to be indispensable. As I see it, anyone with a reasonable vi experience is able to become much more productive at writing text than the regular way. All the operations the user will ever need are literally a couple of keypresses away. You don't need to waste time reaching for and using a mouse, resort to finger gymnastics to use modifier keys... Everything is just there at the tips of your fingers. And even if you need any custom task you can bind any custom operation to a key shortcut and you are ready to go. So many thanks Bill Joy. Your work is much appreciated. Kudos!
  • Not hard enough.. (Score:5, Funny)

    by B5_geek (638928) on Saturday January 06 2007, @08:28AM (#17487142)
    (http://o2kewl.net/)
    I haven't found vi or emacs to be hard enough.

    That why I port edlin to every box I work on.
  • Obligitary joke (Score:5, Funny)

    by zakezuke (229119) on Saturday January 06 2007, @08:30AM (#17487146)
    "My PID is Inigo Montoya. You kill -9 my parent process, prepare to vi. "

    modded down in three, two...
    • 1 reply beneath your current threshold.
  • vi is great, but emacs is greater. by rtra (Score:1) Saturday January 06 2007, @08:33AM
  • I wish I had portable vi by misanthrope101 (Score:2) Saturday January 06 2007, @08:36AM
  • i do it all with... by FudRucker (Score:1) Saturday January 06 2007, @08:52AM
  • From vi to vim, now back again to vi by MrBoombasticfantasti (Score:2) Saturday January 06 2007, @08:53AM
  • CygnusEd by hoover (Score:1) Saturday January 06 2007, @08:57AM
  • The ultimate Unix editor (Score:4, Funny)

    by Ambitwistor (1041236) on Saturday January 06 2007, @09:01AM (#17487274)
    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.
  • Join the Church of vi (Score:5, Funny)

    by Chrax (782154) <effigies.gmail@com> on Saturday January 06 2007, @09:02AM (#17487282)
    (http://effigies.ath.cx:85/)
    :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.
  • the editor with the two letters... by butterberg (Score:1) Saturday January 06 2007, @09:32AM
  • Old networks (Score:3, Interesting)

    by Mostly a lurker (634878) on Saturday January 06 2007, @09:54AM (#17487568)
    '... 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.'
    I feel his pain. I can remember, even in the early 1980's, travelling around Europe in a support role with an acoustic coupler (300 bps, sometimes less depending on line quality) to talk back to head office. Those who have never done it cannot imagine what 3270 eumulation across a line at this speed is like. Watching grass grow is exciting in comparison. It did have occasional advantages though: if you mess up the programming of your 3270 data streams, debugging by watching the data slowly paint on your screen is surprisingly useful!
  • my story (Score:3, Interesting)

    by gsn (989808) on Saturday January 06 2007, @09:55AM (#17487578)
    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.
    • Re:my story by pimpimpim (Score:2) Saturday January 06 2007, @04:09PM
  • Study? by cameronm (Score:1) Saturday January 06 2007, @10:05AM
  • Just remember... VI is power by chrysrobyn (Score:2) Saturday January 06 2007, @10:21AM
  • I S P F! by cavehobbit (Score:1) Saturday January 06 2007, @10:24AM
    • Re:I S P F! by gangien (Score:1) Saturday January 06 2007, @05:09PM
    • Re:I S P F! by El_Oscuro (Score:1) Sunday January 07 2007, @10:04PM
    • Re:I S P F! by larson9999 (Score:1) Saturday January 13 2007, @08:21AM
    • Re:I S P F! by larson9999 (Score:1) Sunday January 14 2007, @04:42AM
    • 1 reply beneath your current threshold.
  • vi rules on mobile devices by Werrismys (Score:1) Saturday January 06 2007, @10:35AM
  • csh by roamingapril (Score:1) Saturday January 06 2007, @11:01AM
    • Re:csh by rubycodez (Score:2) Saturday January 06 2007, @04:09PM
  • Slow Modems... by waterford0069 (Score:1) Saturday January 06 2007, @11:25AM
  • VI all the way! by DoctorPepper (Score:2) Saturday January 06 2007, @11:28AM
  • What? by Hamoohead (Score:1) Saturday January 06 2007, @11:40AM
  • vim? by spudnic (Score:1) Saturday January 06 2007, @11:52AM
  • I call BS! On Bill Joy!?! (Score:4, Informative)

    by drfuchs (599179) on Saturday January 06 2007, @12:17PM (#17488824)
    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 / [gnu.org] 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.

  • "vi" wasn't first, but it was free. (Score:4, Interesting)

    by Animats (122034) on Saturday January 06 2007, @12:25PM (#17488900)
    (http://www.animats.com)

    Long before Bill Joy, UNIX had a good full-screen editor - the RAND editor [rand.org]. The RAND editor dated from the early 1970s. [faqs.org] 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.

  • a funny recollection of the "olde days" of 300bps by porky_pig_jr (Score:2) Saturday January 06 2007, @12:28PM
  • Modality, and special keys (Score:4, Informative)

    by PhotoGuy (189467) on Saturday January 06 2007, @01:24PM (#17489424)
    (http://slashdot.org/)
    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.

  • PDP-10 Emacs by KC1P (Score:1) Saturday January 06 2007, @01:29PM
  • My Simple, Humble... by torrentami (Score:1) Saturday January 06 2007, @02:54PM
  • 9600? 1200? Stimulate it now. :) by antdude (Score:2) Saturday January 06 2007, @04:27PM
  • by petrus4 (213815) on Saturday January 06 2007, @04:41PM (#17491366)
    (http://aqpeag.blogspot.com/ | Last Journal: Saturday April 21 2007, @05:39AM)
    I've trolled about vi myself a couple of times in the past, but installing FreeBSD a few weeks ago finally convinced me to take the time to pick up at least a very rudimentary degree of mobility in it.

    If nothing else, the one thing which it gave me which I'm actually grateful for is that it disrupted my old habits/patterns (if only temporarily) and forced me to have to think. Vi is a thoroughly alien interface compared to virtually anything else I've used, and although with the tutorial (which is surprisingly good) it's discoverable, I don't feel it would have been without it.

    I'm still undecided as to whether or not I feel the interface has actual technical merit, or whether it's simply something vestigial that certain people are so fond of for whatever reason that they've been unable to force themselves to throw it away...although if it's true as Mr Joy says that the editor was originally designed for, and works in, extremely low-bandwidth environments, then that element at least is something which I feel is very much worth keeping.

    One thing which I find extremely distressing these days is that many people seem to feel that the conservatism which motivated the philosophy behind a lot of early UNIX software is an anachronistic attitude and is no longer warranted, given the glut of cpu cycles and other system resources we now find ourselves in. I would urge such people to remember that even under normal circumstances, in some situations (such as embedded/small devices) such is not always the case, and that not only that, were a sufficiently large scale disaster of some kind to happen, it could universally cease to be the case also.

    Conservatism is a good thing to hold onto. Certainly, when the sun is shining and everything is fine, you can feel lulled into believing that not only do you not need it, but that you'll never need it again. If the last few years have been any indication however, some parts of the world are going to continue to face severe environmental catastrophes going forward...and the conservatism of old school UNIX may be one of the only things we know about that could keep computer infrastructure going in such places under such conditions. It is very strange how the past can often end up being the present and the future, especially when we do not expect it.
  • Huh? What about Ed Gould and others? by karl.auerbach (Score:2) Saturday January 06 2007, @04:50PM
  • I heard by GregNorc (Score:1) Saturday January 06 2007, @05:05PM
  • ViEmu by rikkus-x (Score:2) Saturday January 06 2007, @05:11PM
  • I had a dream ... by SamLowry42 (Score:1) Saturday January 06 2007, @05:11PM
  • 300 baud by vga_init (Score:2) Saturday January 06 2007, @05:22PM
  • Shift-ZZ, baby! by tinrobot (Score:2) Saturday January 06 2007, @05:58PM
  • Vi for non-english by TeatimeofSoul (Score:1) Saturday January 06 2007, @07:20PM
  • vi state machine by tedgyz (Score:2) Sunday January 07 2007, @01:56AM
  • vi causes brain damage by liftphreaker (Score:1) Sunday January 07 2007, @08:59AM
  • A man after my own heart by whitroth (Score:2) Sunday January 07 2007, @01:17PM
  • I did not know Bill Joy wrote vi by Master of Transhuman (Score:2) Sunday January 07 2007, @06:25PM
  • Newbies don't understand why vi was so good by tbuskey (Score:2) Monday January 08 2007, @09:46AM
  • All hail Emacs! by febuiles (Score:1) Monday January 08 2007, @07:10PM
  • Re:Too late by cyphercell (Score:1) Saturday January 06 2007, @06:38AM
  • Re:Back in the days... by tuxlove (Score:1) Saturday January 06 2007, @06:39AM
  • Re:Too bad vi sucks by tuxlove (Score:2) Saturday January 06 2007, @06:45AM
  • Re:Back in the days... by kfg (Score:1) Saturday January 06 2007, @06:49AM
    • 1 reply beneath your current threshold.
  • Re:Too late by robzon (Score:2) Saturday January 06 2007, @07:26AM
  • Re:Too late by mwanaheri (Score:2) Saturday January 06 2007, @07:46AM
    • Re:Too late by maraist (Score:2) Saturday January 06 2007, @10:33AM
      • Re:Too late by mwanaheri (Score:1) Saturday January 06 2007, @03:25PM
        • Re:Too late by maraist (Score:2) Sunday January 07 2007, @05:31PM
    • Re:Too late by mwanaheri (Score:1) Saturday January 06 2007, @03:16PM
    • 2 replies beneath your current threshold.
  • Re:Too late (Score:5, Insightful)

    by Alioth (221270) <dyls@alioth.net> on Saturday January 06 2007, @08:02AM (#17487046)
    (http://www.alioth.net/ | Last Journal: Friday November 09, @03:53PM)
    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.
    [ Parent ]
  • Re:How do I go about learning Emac? (Score:3, Informative)

    by Marcos Eliziario (969923) on Saturday January 06 2007, @08:03AM (#17487048)
    (Last Journal: Thursday August 03 2006, @09:15PM)
    "And why do they teach the letter commands to go through the program when the up, down, left, right arrows exist on every keyboard and do the job?" They do. But they do require more movement from your hand. Believe me, once the commands for navigating thru text are impregnated in your brain, you'll crave for them even within Microsoft Word. At that point of addiction, you'll start googling "emacs key binding microsoft word"
    [ Parent ]
  • Re:Too bad vi sucks (Score:4, Insightful)

    by fnj (64210) on Saturday January 06 2007, @08:06AM (#17487054)
    modal editors is the worst idea in the history of computing.

    Insert mode. Overtype mode. That's modal. I suppose you're against that.
    [ Parent ]
  • Re:Too late (Score:3, Interesting)

    by _Shad0w_ (127912) on Saturday January 06 2007, @08:27AM (#17487134)
    (http://www.hikari.org.uk/)

    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.

    [ Parent ]
  • Re:Too late by TheRaven64 (Score:2) Saturday January 06 2007, @09:23AM
    • 1 reply beneath your current threshold.
  • Re:Too late by dskoll (Score:2) Saturday January 06 2007, @04:10PM
  • 17 replies beneath your current threshold.