Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

The Birth of vi

Zonk posted more than 7 years ago | from the please-keep-emacs-trolling-to-a-minimum dept.

Unix 459

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.'"

cancel ×

459 comments

Sorry! There are no comments related to the filter you selected.

So let the flame wars begin! (5, Funny)

messju (32126) | more than 7 years ago | (#17486758)

(I'm using Emacs, BTW.)

Re:So let the flame wars begin! (5, Funny)

91degrees (207121) | more than 7 years ago | (#17486766)

I hate them both.

I'm not popular amongst Unix users.

Re:So let the flame wars begin! (4, Funny)

sniepre (517796) | more than 7 years ago | (#17486830)

Hi joe. :)

Re:So let the flame wars begin! (4, Funny)

zeromorph (1009305) | more than 7 years ago | (#17487002)

Why is parent not modded funny?

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

Re:So let the flame wars begin! (0, Informative)

Anonymous Coward | more than 7 years ago | (#17486952)

Agree that they're both ordinary. I'm still looking for a semi-decent editor for linux. vi is just god-awful to use. Emacs is just as bad despite looking "nicer". pico and nano leave me cold. They're an improvement over vi and emacs, but still fall somewhere short of even the old dos editor in terms of usefulness. Indeed, of all the (many) editors I've tried nedit is the nicest... but is buggy as hell (at least on my ubuntu install). Why oh why can't an editor have both power and ease of use?*

*Note rhetorical question: pfe (programmers file editor) had both power and ease of use many years ago... but unfortunately its not available for *nix.

Re:So let the flame wars begin! (1)

Gordonjcp (186804) | more than 7 years ago | (#17487104)

but still fall somewhere short of even the old dos editor in terms of usefulness

EDLIN was heavily based on ed. They should be close enough for you to get your head around easily.

Re:So let the flame wars begin! (1)

ettlz (639203) | more than 7 years ago | (#17486986)

Yep. Nedit all the way.

Re:So let the flame wars begin! (3, Funny)

bsharitt (580506) | more than 7 years ago | (#17487074)

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

Re:So let the flame wars begin! (1)

Xemu (50595) | more than 7 years ago | (#17487202)

I hate them both.
I'm not popular amongst Unix users.

Word up, man!

Richard Stallman's model for emacs (4, Funny)

Anonymous Coward | more than 7 years ago | (#17487224)

here [timeinc.net]

Re:So let the flame wars begin! (5, Insightful)

donaldm (919619) | more than 7 years ago | (#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"!

Re:So let the flame wars begin! (4, Informative)

Anonymous Coward | more than 7 years ago | (#17487102)

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

Re:So let the flame wars begin! (-1, Flamebait)

Gavin86 (856684) | more than 7 years ago | (#17487206)

Interesting, I was going to say the best way to sum them up is that they are both ancient fucking relics with arcane "interfaces". 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." 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!!!

Re:So let the flame wars begin! (5, Funny)

wakejagr (781977) | more than 7 years ago | (#17487040)

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

emacs is for failures (3, Funny)

Anonymous Coward | more than 7 years ago | (#17487208)

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

Fast Thinking ? (1)

foobsr (693224) | more than 7 years ago | (#17486764)

Now that computers are so much faster than you can think ...

On a (subatomic) level of comparison that most humans, as I perceive, think on in these days.

CC.

No need for Emacs vs vi arguments (1)

LoonyMike (917095) | more than 7 years ago | (#17486768)

Edlin is obviously the best.

Re:No need for Emacs vs vi arguments (2, Funny)

Dionysus (12737) | more than 7 years ago | (#17486786)

ed, baby, ed

Re:No need for Emacs vs vi arguments (4, Funny)

diegocgteleline.es (653730) | more than 7 years ago | (#17487030)

Yeah, ed is the best! [gnu.org]

"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!!!"

I've been using vi for so long... (5, Funny)

tuxlove (316502) | more than 7 years ago | (#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.

Re:I've been using vi for so long... (5, Funny)

daddyrief (910385) | more than 7 years ago | (#17486796)

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

MOD PARENT FUNNY YET RATHER CLEVER (1)

cliveholloway (132299) | more than 7 years ago | (#17487118)

oh go on. go on go on go on go on go on go on go on.

Re:I've been using vi for so long... (4, Insightful)

Scarblac (122480) | more than 7 years ago | (#17486824)

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.

Re:I've been using vi for so long... (1, Insightful)

tuxlove (316502) | more than 7 years ago | (#17486860)

it doesn't seem so different to need to hit C-X before some commands, than to hit ESC and

How horribly untrue. The ESC key is simple to hit. It's in the upper left corner; easy to hit without effort. Control-x is harder to hit because you have to bend your hand down and hit two keys simultaneously. I used to laugh at the many emacs users at my last company because they were always grunting every time they reached for that ^X, often followed by a "damn!" when they hit the wrong key or missed the control.

In vi you only have to hit ESC once to get into command mode. After that you can type commands to your heart's content without the oppression of hitting some hard-to-reach escape sequence every time you want to do something.

Admittedly, once you get used to it, I'm sure emacs is not all that bad. But emacs is just wrong. I want to use an editor to edit my files, not an operating system like emacs.

Re:I've been using vi for so long... (0)

Anonymous Coward | more than 7 years ago | (#17486874)

As a vi user that has used EMACS I'd like to say that hitting ESC requires a lot more movement across the keyboard, but I find the commands easier to remember.

As to the EMACS being an operating system, I'd like to know your opinion on the so called web operating systems and the web interfaced office tools.

Re:I've been using vi for so long... (1)

fmaresca (739871) | more than 7 years ago | (#17486894)

How horribly untrue. The ESC key is simple to hit. It's in the upper left corner; easy to hit without effort. Control-x is harder to hit because you have to bend your hand down and hit two keys simultaneously. I used to laugh at the many emacs users at my last company because they were always grunting every time they reached for that ^X, often followed by a "damn!" when they hit the wrong key or missed the control.
Nah. I've been a vim user for several years (switch from pico) and the most important thing I can remember I've done in my configuration was switching Esc and CapsLock. In pc keyboards, the Esc key is FAR away. The effort needed to hit it with the left hand is comparable to that needed to reach mice with the right; and my hands aren't small ones.
But emacs is just wrong. I want to use an editor to edit my files, not an operating system like emacs.
I'm not an Emacs user, but I'm pretty sure that you can configure it to a bare minimum if you don't like bloat. ITOH, vim binary in my Debian is 1.5M, this is not small anymore. Cheers,

Re:I've been using vi for so long... (2, Funny)

tuxlove (316502) | more than 7 years ago | (#17486924)

the most important thing I can remember I've done in my configuration was switching Esc and CapsLock

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.

Re:I've been using vi for so long... (1)

tuxlove (316502) | more than 7 years ago | (#17486932)

Woops, should have said, "with the ctrl key in the correct place".

Re:I've been using vi for so long... (1)

Carl Drougge (222479) | more than 7 years ago | (#17486900)

The ESC key isn't so great for hitting actually. Better than ^X, but not so good. Fortunately there are better placed keys you can remap. I put it on the right control, and it's great. (And then I make the real ESC into compose, because that's useful but rarely used.)

(And yes, I know you can also use ^[, but that's pretty useless on most non-american keyboards. On my keyboard, that's ctrl-alt-8.)

Re:I've been using vi for so long... (1)

Miffe (592354) | more than 7 years ago | (#17486928)

(And yes, I know you can also use ^[, but that's pretty useless on most non-american keyboards. On my keyboard, that's ctrl-alt-8.)
You can also hit ctrl-c. Much nicer than ^[.

Re:I've been using vi for so long... (1)

dwater (72834) | more than 7 years ago | (#17486970)

> In vi you only have to hit ESC once to get into command mode. After that you can type commands to your heart's content without the oppression of hitting some hard-to-reach escape sequence every time you want to do something.

Right, so ESC shouldn't be included in this debate, since unless you're specifically switching from insert mode.

You should also note that a lot of commands (ie not movement) require a ':' which is actually a shift-; and so somewhat equivalent to ctrl-x in that it's also two keys.

Re:I've been using vi for so long... (1)

Ciggy (692030) | more than 7 years ago | (#17487122)

The colon prefix to commands in vi is actually accessing ex commands (FWIU).

The one thing I miss in vim is the inability to use term=dumb that vi could - vi would display only the current line in the buffer and normal screen movement commands would be sensibly mapped[1]; the only cursor control vi required for term=dumb was ^M (carriage return = goto start of line, adding ability to do ^H (backspace) improved speed of use as going left 1 char used that as opposed to ^M{line upto char}.

[1]I've used vi over a 300 baud modem link on a glass yty (=dumb terminal that only understood cursor controls ^M & ^H) and it was most usable. [One of the commands was mapped to display the context of the current line by showing the previous 10 lines, the current line and the following 10 lines.]

Re:I've been using vi for so long... (1)

smallfries (601545) | more than 7 years ago | (#17487022)

The ESC key is a simple target but it's too far away! To leave insert mode you can also press ^C, which isn't too different from Emacs. In vim you can also use ALT-direction (either the cursor keys or the hjkl keys). These have the benefit that your hands don't leave the home area on the keyboard.

I've never seen anyone edit text in emacs as fast as a competent vi user. I've seen some pretty experienced emacs users (including some guys who wrote a whole IDE for prolog in it), but none of them have the same speed as a vi user. On a modern machine I'm sure that emacs can't really be running that slowly - but it feels slow. Vi feels about as fast as I think.

Re:I've been using vi for so long... (1)

Gordonjcp (186804) | more than 7 years ago | (#17487124)

The ESC key is a simple target but it's too far away!

I like the ESC key being further away, because it gives me the necessary 100ms for thought to overtake instinct if I'm about to ESC:wq something I'd rather just leave alone.

Re:I've been using vi for so long... (2)

martin-boundary (547041) | more than 7 years ago | (#17487094)

You're not a touch typist, are you? If you're a hunt-and-pecker then it's natural to want to do everything one finger at a time, or at worst using several fingers of one hand. But the right way to type C- combinations in emacs is to use one hand to press Control and the other hand to press whatever the letter is. So C-x is typed by pressing x with your left hand and Control with your right hand. And C-p is typed by pressing p with your right hand and Control with your left hand. That's why modern keyboards have two control keys.

Learn to touch type properly, it will literally save you from the worst risks of getting RSI, by teaching you ways of typing which don't strain your fingers that much.

Re:I've been using vi for so long... (1)

dwater (72834) | more than 7 years ago | (#17486896)

> than to hit ESC and :.

I don't think including ESC is correct; that's for switching modes, not for executing a command. You only have to do it if you're not already in command mode, which is often the case since part of the 'vi' mind set is to group your commands together.

I also think you should mention that ':' is actually 'shift-;' - ie is a more direct equivalent to 'crtl-x' in that it's two keys.

Re:I've been using vi for so long... (0)

Anonymous Coward | more than 7 years ago | (#17486918)

It's quite simple: vi is a piece of software that can reduce a reasonably intelligent and patient newbie to a frustrated wreck pounding on the keys uselessly trying to get it to do anything other than beep.

It's horrible software... you like, it fine, but don't be an idiot and recommend it to newbies. Emacs isn't much better in this regard.

Re:I've been using vi for so long... (5, Funny)

quintesse (654840) | more than 7 years ago | (#17487034)

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.

Re:I've been using vi for so long... (2, Interesting)

nizo (81281) | more than 7 years ago | (#17487198)

Yeah, but which editor did you use to write the code for your editor?

Re:I've been using vi for so long... (3, Informative)

martin-boundary (547041) | more than 7 years ago | (#17486982)

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.

Re:I've been using vi for so long... (1)

Marcos Eliziario (969923) | more than 7 years ago | (#17487016)

Some say vi is not intuitive. BS! When I started learning emacs, I would try to use ESC commands all the time. In fact, when I use a text editor in Windows, I need always to proofread my text to get rid of the ":w" I would left.

Re:I've been using vi for so long... (0)

Anonymous Coward | more than 7 years ago | (#17487186)

I'll tell you how I really learned how to use vi ... playing Nethack. Nethack (THE GREATEST GAME EVER) uses the vi keys for movement, unless you're lame and turn on the number pad options. After a few weeks (months, years) of playing nethack, I was actually amazed at my productivity in vi. It really works!

Now, did Nethack train me for vi, or did vi train me for Nethack? hmm.

first use? (-1)

Anonymous Coward | more than 7 years ago | (#17486774)

s//first post/

Recommended for new *nix users? (5, Interesting)

BarneyRubble (180091) | more than 7 years ago | (#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?

Re:Recommended for new *nix users? (2, Informative)

menkhaura (103150) | more than 7 years ago | (#17486816)

I usually walk them through gvim, and slowly introduce the keyboard commands. If the person isn't a doorknob, she will learn at least keyboard navigation and basic search and replace in no time. Besides, with syntax highlighting, auto-indenting, multiple (split) views on the same window (which OpenOffice to this day can't do) and other goodies make me want nothing but vim, even when I'm on a Microsoft platform.

Re:Recommended for new *nix users? (1)

Aladrin (926209) | more than 7 years ago | (#17486826)

Depends on who you define as a 'new *nix user'.

If I gave a Kubuntu system to my mother (I wouldn't, because all she does is play those silly Windows-based games) then I would definitely not even show her the command line.

When we hired a new programmer at work that had very little *nix experience, I immediately told him to learn and love vi.

Re:Recommended for new *nix users? (2, Funny)

lanc (762334) | more than 7 years ago | (#17487114)

Depends on who you define as a 'new *nix user'.
If I gave a Kubuntu system to
Ahhh. Linux Is Not Unix Xohdontyouunderstandit

Re:Recommended for new *nix users? (4, Insightful)

larien (5608) | more than 7 years ago | (#17486836)

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.

Indeed (1)

Vandil X (636030) | more than 7 years ago | (#17486868)

I got used to using pico for years. It was installed on all the UNIX systems I worked with. Fast forward many years when I had to edit a config file on a UNIX server that didn't have pico installed. -- I had to google for vi commands...

Re:Recommended for new *nix users? (1)

nsupathy (515587) | more than 7 years ago | (#17486966)

Yes I do. I recommend all newbies to learn vi. But its upto them to continue on my guidance. Most of them look with awe when I start working in a unix host using variety of commands and they want to reach there. Only way is to learn vi.

Re:Recommended for new *nix users? (1)

Zzeep (682115) | more than 7 years ago | (#17486996)

Yes, if I think they have to edit some config files, I recommend vi (which in practice is vim) Vim is not hard to learn. Sure, it takes a few minutes, and a little cheat sheet of commands, but once you get the hang of it I am very very positive that it is still the fastest editor around. Also for programming. At the company I work now, most people use MS visual studio. Looking how awfully slow those people navigate through text, have to move the mouse to search and replace, slowly jump to a function declaration, it's a pitty. The power of regular expressions in vim to search and replace, the ease and speed in which you can move blocks of text around, how fast you can look for text, etc. Also, vi (and X windows in general) seem to use up much less of precious screen real estate. In X windows I always have 4 xterms open (on my main virtual window). Having four windows open in MS Windows, while still being practical, you need a 26" screen, which will introduce another kind of lag: having to move your head to be able to see the corners of the screen. So VI(m) is King, and if something better comes along I'll use it, but I don't think we'll see anything better sometime soon.

No... (1)

SimonShine (795915) | more than 7 years ago | (#17487068)

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

No, because recommending vi to anyone means having to spend more time helping them leave the editor. The fact that the editor has (almost UI transparent) states where keys behave differently throws off most people. But I do like to help people who have already chosen the editor and damn themselves for not changing.

Why have sex when you have six?

Re:Recommended for new *nix users? (1)

lanc (762334) | more than 7 years ago | (#17487090)

Do you recommend vi to all new *nix users now?
just to the administrator-wannabes, not to the users. Users can have gvim :)

by the by - I used elvis for a long time on X - was always a kindof nice graphical mockup of vi.

Apropos vi - do you find Emacs on the most def. installations on todays Unix systems?

Re:Recommended for new *nix users? (1)

cliveholloway (132299) | more than 7 years ago | (#17487164)

Try using a reverse ssh tunnel through your personal server, then from there ssh to a gateway box, then out to your target box. Then you start to notice speed issues.

I would strongly recommend they learn vi, but I'm not going to throw a hissy fit if they fire up pico or something. I might wince a little, but it does take a while to get your head around vi so I can understand the reluctance to begin with.

Too late (0)

Anonymous Coward | more than 7 years ago | (#17486790)

It is 2007, the story is from 2003. Who really uses either editor these days?

Re:Too late (1)

cyphercell (843398) | more than 7 years ago | (#17486814)

I was just about to post the same sort of thing. It was a good story when i rtfa (~3) four years ago.

How do I go about learning Emac? (0)

Anonymous Coward | more than 7 years ago | (#17486908)

Contrary to parent, I want to learn how to use Emacs. I read about old *nix hands and programmers using it and its potential power excites me but I don't know why yet. However, I find the tutorial very.... um, I just don't remember the commands once I go through it.

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?

What is the easiest way to learn emacs? (Besides just using it.)

Re:How do I go about learning Emac? (2, Informative)

Marcos Eliziario (969923) | more than 7 years ago | (#17487048)

"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"

parentheses and brackets, oh yeah (1)

misanthrope101 (253915) | more than 7 years ago | (#17487138)

I'm new to Unix-type things, but I really like vi. My favorite features are the movement commands. As soon as I found that I could use the parentheses and brackets to move around and copy/paste, I was hooked. I still haven't figured out the buffers that well, and I miss the idiot-proof ctrl-c/x/v, but p hasn't killed me yet. But selecting the last 2 sentences is much easier with 2( than it is with the mouse, with which I have to visually count sentences and then hunt for the beginning of the one I want to start from.

Re:Too late (2, Informative)

robzon (981455) | more than 7 years ago | (#17486948)

Who really uses either editor these days?

I do. I love to use vi(m) for coding. And it's the only editor I can use efficiently while working remotely. And it's very configurable. And it looks s0 l33t with semi-transparent background and all those beryl effects on my Ubuntu laptop.
But seriously, vi(m) is really great once you learn it. Though I agree it has a pretty steep learning curve. Anyways, it was worth it.

Re:Too late (2, Informative)

mwanaheri (933794) | more than 7 years ago | (#17487004)

I use it. Vi (or better: vim) is really sweet if you have to look at textfiles of >100mb. Also, if you have to edit a file on a different machine. On the other hand, when working in a graphical environment anyway or as a suggestion to new users, I often recommend kate.

Re:Too late (4, Insightful)

Alioth (221270) | more than 7 years ago | (#17487046)

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.

Re:Too late (3, Interesting)

_Shad0w_ (127912) | more than 7 years ago | (#17487134)

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.

Speed of vi (4, Interesting)

larien (5608) | more than 7 years ago | (#17486792)

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.

Back in the days... (0)

Anonymous Coward | more than 7 years ago | (#17486798)

From the article:
"By the way, before that summer, we could only type in uppercase. That summer we got lowercase ROMs for our terminals. It was really exciting to finally use lowercase." ... sounds like Grandpa Simpson

Re:Back in the days... (1)

tuxlove (316502) | more than 7 years ago | (#17486822)

sounds like Grandpa Simpson

Bill Joy is probably old enough to be your grandfather. Just guessing from your high user ID.

Back in my day we had to type in upper case while walking uphill in both directions through 5 feet of ASCII.

Re:Back in the days... (1)

Stormwatch (703920) | more than 7 years ago | (#17486926)

sounds like Grandpa Simpson
Bill Joy is probably old enough to be your grandfather.
Hey, what a comparison. Bill Joy is just 52. Abe Simpson is 83.

Re:Back in the days... (1, Offtopic)

kfg (145172) | more than 7 years ago | (#17486852)

... sounds like Grandpa Simpson

Don't worry, your turn to sound like that is coming, in about five years. Laugh while ye may.

KFG

Re:Back in the days... (0)

Anonymous Coward | more than 7 years ago | (#17486978)

... sounds like Grandpa Simpson

Don't worry, your turn to sound like that is coming, in about five years. Laugh while ye may.


Agreed, laugh while ye may and spend some time with the kids too. Cats in the Cradle [birdsnest.com]

Just getting the CRT terminals was exciting enough, not that they really replaced card readers but made a nice substitute for the TTYs that looked more at home at Western Union or in military communications. Watch out for the head slips, they get me often these days.

Too bad vi sucks (-1, Flamebait)

Anonymous Coward | more than 7 years ago | (#17486820)

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

Re:Too bad vi sucks (2, Interesting)

tuxlove (316502) | more than 7 years ago | (#17486844)

modal editors is the worst idea in the history of computing. [sic]

This thinking is precisely why vi continues to be superior to other editors. For some godforsaken reason people seem to be afraid to make modal editors, so "modern" editors damn you to using a mouse or ugly awkward command sequences for everything. Can someone explain why modal editors are a bad thing? It is this very fact that's kept me using vi for decades now.

Re:Too bad vi sucks (1)

fforw (116415) | more than 7 years ago | (#17487084)

the common argument against modes in software is that they lead to mode errors. Users forget they're in the mode and thus the software doesn't act like it's expected to be. there seem to be very few exceptions where that is no problem, e.g. holding down the shift key to enter the uppercase mode

Re:Too bad vi sucks (1)

ChrisMaple (607946) | more than 7 years ago | (#17487174)

And the rebuttal to the common argument against modes is "The status line displays the current mode."

Rebuttal to the rebuttal (0)

Anonymous Coward | more than 7 years ago | (#17487194)

I shouldn't have to look at the status bar to know what keypresses are going to do. I know whether or not I have my fingers on Ctrl-X or whatever without having to look away from the text I am focusing on.

Re:Too bad vi sucks (3, Insightful)

fnj (64210) | more than 7 years ago | (#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.

Re:Too bad vi sucks (0)

Anonymous Coward | more than 7 years ago | (#17487144)

Yes, Overwrite mode is lame. There should only be insert mode, which would make the editor modeless.

Those who forget history... (5, Insightful)

neongenesis (549334) | more than 7 years ago | (#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.

Old news (0)

Anonymous Coward | more than 7 years ago | (#17486864)

The article is 3 years old, ffs.

In my experience vi is 900-1200 times more efficient that Microseft POS Visual Studio when programming.

Re:Old news (0)

Anonymous Coward | more than 7 years ago | (#17487082)

In my experience vi is 900-1200 times more efficient that Microseft POS Visual Studio when programming.

Visual Studio is an integrated development environment. Vi is a plain text editor. Apples. Oranges. You're an idiot.

eek! (1, Insightful)

rucs_hack (784150) | more than 7 years ago | (#17486880)

This could get as ugly as the creationist vs evolutionists debate...

I prefer Vi, since I spend lots of time at terminals logged into remote machines. Although things are faster these days, having such a tightly optimized editor is useful.

I have taught Emacs. That was an experience that was. I had to spend a week teaching myself how to use it, then teach a bunch of freshly minted undergrads, who then thought I was some kind of Emacs Guru. How wrong they were.
Project students, being slightly more experienced final year bods, were all force marched to the Vi camp (well, gvim, I'm not that cruel), so I wouldn't have to use The Eight Megabytes and Constantly Swapping Monster if they needed help.

Echoes of the past (4, Funny)

frisket (149522) | more than 7 years ago | (#17486882)

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: (3, Funny)

smitty_one_each (243267) | more than 7 years ago | (#17486906)

finally there was ex
And there was much ejoycing.
(ay)

Re:From TFA: (1)

ettlz (639203) | more than 7 years ago | (#17487006)

And there was much ejoycing.
Look, mate, if you want to go about ejoycing you do it in the privacy of your own home, not in public and certainly not on Slashdot.

iI like vi (1)

v3xt0r (799856) | more than 7 years ago | (#17486930)

ioops, I did it again!

Hard to learn but worth it (5, Insightful)

jlherren (1025754) | more than 7 years ago | (#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.

I use both Vi (vim) and Emacs. Brief is better (2, Funny)

cdn-programmer (468978) | more than 7 years ago | (#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

Unix console text editors are annoying (2, Interesting)

bl8n8r (649187) | more than 7 years ago | (#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

VI is a bad joke (0)

Anonymous Coward | more than 7 years ago | (#17486990)

seriously

Interesting Choice of News (5, Informative)

icedivr (168266) | more than 7 years ago | (#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.

The perfect excuse to game! (0)

Anonymous Coward | more than 7 years ago | (#17487020)

"Come on, whats this. Are you playing that stupid ascii game nethack again?"
"No, I'm working on my vi-fu. I seem to have mastered the movement keys"

He wrote vi? (0)

Anonymous Coward | more than 7 years ago | (#17487044)

He should have used vim - more features.

Vi is really good for editing the emacs makefile (1)

david.emery (127135) | more than 7 years ago | (#17487056)

If that qualifies as a "boon to mankind". OK. :-)

          dave

Trolling for controversy? (2, Informative)

hammarlund (568027) | more than 7 years ago | (#17487062)

Interesting article, but this article was published on 11th September 2003.

Vi: great stuff (2)

GreatBunzinni (642500) | more than 7 years ago | (#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.. (5, Funny)

B5_geek (638928) | more than 7 years ago | (#17487142)

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

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

Obligitary joke (5, Funny)

zakezuke (229119) | more than 7 years ago | (#17487146)

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

modded down in three, two...

vi is great, but emacs is greater. (1)

rtra (1045380) | more than 7 years ago | (#17487158)

Vi's mode really helps my RSI, but emacs is so powerful that I've choose to adopt it as my primary editor.

If only existed a good emacs mode for modal editing... :-|

I wish I had portable vi (1)

misanthrope101 (253915) | more than 7 years ago | (#17487176)

I run Portable Openoffice and Portable Firefox from a usb pendrive. The only other programs that I have really wanted was a portable version of Drivecrypt and Portable Vi. That, and maybe TexMaker with all the requisite backend LaTeX stuff to make PDFs.

co3k (-1, Flamebait)

Anonymous Coward | more than 7 years ago | (#17487218)

r&eal problems that populatiOn as well
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>