Forgot your password?
typodupeerror
Software Operating Systems Unix Linux

JOE Hits 3.0 519

Posted by timothy
from the tap-tap-clicka-tap dept.
orasio writes " Joe's Own Editor , a unix editor very much like the old Turbo-Pascal 4 editor, or WordStar, used and enjoyed by us console freaks who still miss the old DOS days, and cannot finish understanding vi's modes, has been revamped, adding syntax highlighting and internationalization support after many years without new features. The Sourceforge project is open for contributors since a year ago, but this is the first major feature improvement, that brings new life to JOE as a neat console-based programmer's editor." Joe is one undervalued program -- less arcane than vi, less cumbersome than emacs.
This discussion has been archived. No new comments can be posted.

JOE Hits 3.0

Comments Filter:
  • VI is everywhere. (Score:3, Insightful)

    by Moderation abuser (184013) on Tuesday April 27, 2004 @05:28AM (#8981760)
    JOE isn't.

    So when I learned vi, I could use the knowledge on every Unix system I've ever been on. That alone makes it more useful than JOE.

    JOE's really JAE.

    • by Anonymous Coward on Tuesday April 27, 2004 @05:31AM (#8981779)
      UNIX isn't.

      So when I learned Windows, I could use the knowledge on every computer I've ever been on. That alone makes it more useful than UNIX.
    • by not_a_product_id (604278) on Tuesday April 27, 2004 @05:34AM (#8981806) Journal
      This is what's been pushing me into learning vi (a process that isn't bad at all. just try the tutor - i think it's "vimtutor"). You KNOW that when you have to use an editor in an emergency vi will be there, JOE (or whatever else you prefer) probably won't. You DO NOT want to be learning vi as you try to repair a production server.
      • I agree with that analysis. Also, speaking as a casual Linux user who isn't entirely comfortable with the command line, learning enough Vi to edit a few lines of yum.conf or grub.conf or the xfree86 config file wasn't that bad. You learn how to switch into edit mode, edit stuff, learn how to switch back to command mode, learn how to save stuff, or to exit without save. I used to use Nano until I started playing with distros that don't have it by default (read: most). Now, I'm glad that I know enough Vi to g
      • Re:VI is everywhere. (Score:5, Interesting)

        by lintux (125434) <slashdot&wilmer,gaast,net> on Tuesday April 27, 2004 @06:15AM (#8981996) Homepage
        You know, when you know how to use vim, you certainly don't automatically know how to use vi. Just try to edit a file on BSD using the default version of vi.

        - Backspace key won't work correctly when you want to delete text which was there already before you entered insert mode.
        - Forget about the delete key, you'll have to quit insert mode and use x. (And for some reason, when you leave insert mode, the cursor magically moves one position to the left)
        - When you accidentally use your arrow keys at an unexpected moment, your file gets messed up and/or you sometimes automatically leave insert mode.

        And well, I can imagine that it'll be even worse on older machines.
        • Too true. You need to learn plain ol' vanilla vi to be truly effective on any Unix machine. Learning to do without the delete and arrow keys (and the backspace key, except for immediate corrections) will actually make your use of vi more efficient as you learn to take advantage of d, D, dd, c, C, s, r, R, etc. in combination with sentence-structured and numbered movement commands in command mode (and of course the most important command key for editing code, ".").

        • Re:VI is everywhere. (Score:5, Informative)

          by Anonymous Coward on Tuesday April 27, 2004 @08:10AM (#8982844)

          Let me help clear up some of your confusion about vi versus vim:

          Backspace key won't work correctly when you want to delete text which was there already before you entered insert mode.

          There are two misunderstandings here. The first is that there are multiple modes in vi. In reality, there is just what you think of as command mode, and within command mode there is an insert command. The insert command start with an "i", and ends with an escape. The stuff inbetween is inserted into the buffer.

          This explains why the backspace does what it does in vi. The backspace allows you to move backwards (destructively) in the text that you are inserting as part of the current insert command. It doesn't move you around in the buffer; it moves you within the insert command. (To make things a little more convenient, vi displays the text you type as part of the insert command in the position in which it will be inserted after the insert command completes.)

          Forget about the delete key, you'll have to quit insert mode and use x

          Indeed. The delete key is not supported as part of a insert command. vim may have added this as an extension, but that's a vim thing and not a standard vi thing. So if you want to delete destructively to the right, you'll have to finish the insert command you're doing.

          And for some reason, when you leave insert mode, the cursor magically moves one position to the left

          Well, of course you're not leaving insert mode. You're finishing an insert command. The reason the cursor moves where it does is that at the end of an insert command, the cursor is put on the last character inserted. If you are inserting the string "abc", then you would type "i", then "abc", then escape. Once you have typed the "c", you are still executing an insert command, the cursor always moves after the character you've just typed. But when you hit escape, you have finished the insert command, and the cursor goes to the last character of the string you inserted.

          Note that this is actually the more consistent way to do things. In vi, when you are using movement commands (hjkl, etc.) to move around, your cursor must always be on a real character that exists in the document. It cannot be in the space after the last character on the line. (The exception is blank lines, but there is no way to be on a real character then, so you have to make this exception.) So naturally, after you have inserted text at the end of a line, your cursor cannot be AFTER the last character, because this is an illegal position for the cursor within vi. So it must land on the last character. Now, should it behave differently when inserting in the middle of the line? I don't think so. If I insert "abc" somewhere, I want the cursor to be in the same place relative to the newly-inserted string regardless of whether I inserted it at the beginning, end, or middle of the line. Anything else will just create a situation where I sometimes have to look at the screen and see what the state of the program is before I can continue typing, which is a big waste of my time.

          When you accidentally use your arrow keys at an unexpected moment, your file gets messed up and/or you sometimes automatically leave insert mode

          This is really easy to explain. The reason for this is that vi was invented and was popular before arrow keys were a standard thing on all keyboards. These days, they are pretty standard, but still don't exist on all devices (like cell phone and PDA keyboards). vi will work with most any type of terminal, therefore it doesn't assume that arrow keys exist and it uses other keystrokes instead (namely, hjkl). It could be extended to support arrow keys, which would be nice if you are really used to arrow keys, but honestly, arrow keys are pretty danged far out in right field away from the more useful keys, so using the

          • by evilviper (135110) on Tuesday April 27, 2004 @08:52AM (#8983320) Journal
            I agree with everything, except this:

            The only reason they should be supported as an extension is for people who can't break their mind out of the "arrow keys are the one way to move the cursor" paradigm.

            I have a better reason... Any non-US or non-QWERTY keyboard will not put the letters for movement under your fingers. I type in Dvorak, and the 4 keys are scattered across the keyboard.

            I don't like moving my hand down to the arrow keys, but at least they are all in one place. Besides, you've got the same problem using the ESC key with your left hand. I really think arrow keys should be better supported by nvi... It's not as if I want to hit the arrow key and have it delete a line for me. If nothing else, it would prevent accidents.

            Besides, what's wrong with making life a little easier for those who are used to the arrow keys? They aren't serving any other useful purpose.

            It's also more consistent, in that you have to use them to move around in insert mode, so being able to use them in command-mode just makes sense.
          • Regarding arrow keys (Score:3, Interesting)

            by ShinmaWa (449201)
            (Regarding arrow keys): The reason for this is that vi was invented and was popular before arrow keys were a standard thing on all keyboards.

            I'm going to expand on this a little because you missed an important point on why vi behaves as it does. The reason why arrow keys "mess up" documents is that vi is a character mode editor. That is, it reads one character at a time and interprets it as a command as if it was typed.

            On the VT-100 series of terminals, the arrow keys map out to: ESC + [ + (A|B|C|D) w
    • Re:VI is everywhere. (Score:5, Interesting)

      by CoolGopher (142933) on Tuesday April 27, 2004 @05:43AM (#8981848)
      I know what you mean. When I was dropped into doing system development on a Solaris based product I initially set out with the intention of finally learning emacs.

      Well, long story short, I couldn't the sucker to compile/run/whatever (I've forgotten the details by now), so I decided not to waste any more time and instead improve my vi skills.

      Best decision ever. Easily.
      Now I have an extremely powerful, usable, lightweight editor that is available on every *nix under the Sun (ha ha).

      Not to mention that starting up emacs on my old 386 would not be a pretty sight, considering that just doing "vi /etc/fstab" takes ~8secs before I can start editing...

      This is not to say that Joe is bad/useless. I wouldn't say that, especially since I haven't used it. However, for me, and many others, it's not the most practical choice :)
    • by 56ker (566853)
      What do you mean by JAE????
      • There are thousands of them.

        jed, joe, ee, emacs, mcedit, nedit, pico, ted, stte, editx, padpaper, led, setedit, and more and more.

        Thing is. The *only* editor you are garuanteed to have on any Unix system is vi. While the others might be great, fantastic even, when you've got more than one system and the whizzy editor is not installed on every single one of them, vi is the tool you can rely on. All the others are Just Another Editor.

        I did once search far and wide for the one true editor, GUI editors, TUI
    • by msobkow (48369)

      There really is no shortage of cross-platform editors available -- it's mostly the IDE addicts that risk being locked into a platform-specific editor.

      I use vi-derivatives like vim everywhere. There are no shortage of Win32-based implementations, both for text window and for GUI use.

      GNU Emacs is also on any platform I've ever used, and MicroEmacs was almost as portable.

      Then there are multi-platform IDE's like Eclipse or SunONE Studio.

      I really don't understand why people lament when editors don't ha

    • Just on Unix? When you learn to magnetize your hard disk by hand with just the help of a magnet, you can use that knowledge on every computer ever made!

      Seriously, knowing about vi is good for emergencies, but I don't want to be bothered by modes and lack of support for all those nice arrow keys on my keyboard.
    • That argument applies to windows, too. Some of us prefer the lesser-known, less avaliable alternatives anyway.
      That said, Joe has never been my favourite. It's too easy to crash and it didn't do the things I expected last time I looked at it. I prefer Nedit. For those rare times when an X server isn't avaliable, I'll use the editor in midnight commander - this does not happen often enough that I bother to learn vi.

      (to perhaps start a flame war when I'm at it, the way unix fanatics excpect you to re-learn su
    • Dude, you can download any editor with in 3minutes.

      just ftp/http/wget it from 100000 sources, there are binaries for everything, including dreamcast to your microwave and vacume tubes

      VI is everything, god, talk about lazy.

      Yes, windows is everywhere, but are you using it?

    • ed is the standard editor.
    • So when I learned vi, I could use the knowledge on every Unix system I've ever been on. That alone makes it more useful than JOE.

      Well yes, but just because it is everywhere doesn't mean you have to use it all the time.

      I know how to use Vi, I think it's worth learning when you don't have anything else - but i'll be damned if I'm going to use Vi on a perminant basis if I am able to install something else.

      Use Vi when you have no choice, use your favourite when you do.

    • Joe is an easy to use powerful editor that you don't have to remember how to use due to the excellent built-in help system. For those of us who only use console editors when X breaks joe is really nice. I install it everywhere I have a login. And yes, I do know how to use vi, but I don't like it, and I tried to learn emacs, and found out I wouldn't use it enough to remember how to use it. So, vi or emacs? My answer: joe.
  • hmm.... (Score:5, Funny)

    by k0d0 (648229) on Tuesday April 27, 2004 @05:29AM (#8981765) Homepage
    does it have a calendar, calculator, email-client and of course tetris build in?
  • by MavEtJu (241979) <slashdot@mave t j u . org> on Tuesday April 27, 2004 @05:29AM (#8981766) Homepage
    Make that Turbo Pascal 3 which has the wordstar-like editor. Version 4 and later had a full blown GUI, which got later replaced by Borlands TurboVision IDE. Which made it, at least for me, the best CUI there was.
    • I think not. Turbo pascal 4 and 5 were still the same wordstar driver non-gui ides. I can't be absolutely sure that there was no GUI option, because I ran it on Dos alone. It was 5.5 that got OOP into pascal and I'm dead certain having used that with same-o text console ui.

      You sure you're not mixing it with Turbo C, for which the version 2 (2.x?) was the last before it turned into a Borland C/C++ 3.0. (for which I faintly recall it was still possible to use the wordstar-like bindings but at this point it w
  • I want semware Qedit (Score:2, Interesting)

    by djplurvert (737910)
    I want Qedit for unix. It's macros were extremely usable on the fly and I've found nothing else that balance of power and features that it had.

    Column copy, split windows, multiple macros that could be quickly defined by a simple to use keystroke recorder. Completely configurable. Oh, and fast and small.

    I've tried most of the unix terminal editors. I end up using either vi or nano.

    plurvert
  • by Bapu (26118) * on Tuesday April 27, 2004 @05:30AM (#8981777)
    Everyone should use Joe because CTRL-k-d is so much easier and more intuitive than ESC :wq!

    Joe was a nice alternative for DOS refugees when vi was the only other choice, but X-windows based editors make everything nicer...try middle click cut-and-paste for starters.

    Unless we are all sitting at green Wyse 50 terminals, why are we still so married to command line editors? I am guilty of it too. vi is my God.
    • Clearly GUI editors aren't much use until you can get X running. I use vi my self, but none of the existing Linux text mode editors use the "standard" keyboard shortcuts such as cntl-c for copy. To old win/dos users I would recommend pico as the least esoteric of the non-X editors. Does anyone know of a win98 edit.com clone for linux?
      • by Blackknight (25168) on Tuesday April 27, 2004 @05:59AM (#8981916) Homepage
        It's not a clone but mcedit is pretty nice. It's included with the mc program which is also a nice file manager.
      • Clearly GUI editors aren't much use until you can get X running. I use vi my self, but none of the existing Linux text mode editors use the "standard" keyboard shortcuts such as cntl-c for copy. To old win/dos users I would recommend pico as the least esoteric of the non-X editors. Does anyone know of a win98 edit.com clone for linux?

        Actually, for Windows users migrating over to *nix, 'ee' [easyeditor] would be much more intuitive. The only problem [as I see it] with ee is the different implementations b
      • by Lproven (6030) on Tuesday April 27, 2004 @06:55AM (#8982225) Homepage Journal
        That is the question, all right.

        A typical Emacs user rates the virtues of their editor as power, extensibility and flexibility.

        Those are Unix-type virtues. Over in the GUI desktop world, they don't count for much. What people want is simplicity and discoverability. Multiple ways to do things, ways that are similar between different programs. No macros, no customisation, no syntax highlighting, no language-specific optimisations, because they're not programmers and they're not programming. Thus they don't want or need a programmers' editor. They want a users' editor.

        The MS-DOS 5+ editor is a model of these virtues for a text-mode app. It's CUA-compliant, the Wordstar standard for the 1990s and onwards, it can be driven from the keyboard or mouse, as you prefer, using standard commands, and is as close to a Windows (or indeed MacOS) app as you can get in an 80x25 console.

        It's good.

        And I know of no free xNix product anything like it.
    • Unless we are all sitting at green Wyse 50 terminals, why are we still so married to command line editors?

      Personally I like the fact that I can just download Putty and SSH into a familiar environment. Special purpose GUI editors are usually great for a given task, but nothing beats a properly configured general purpose text-based editor at random editing tasks.
    • why are we still so married to command line editors?

      For the same reason everyone prefers shellscripting instead of a visual development environment, prefers a good comfortable shell to a file explorer, prefers multiple separate windows instead of MDI, etc. Everyone is just used to it?

    • by Garak (100517) <chris&insec,ca> on Tuesday April 27, 2004 @05:57AM (#8981909) Homepage Journal
      CTRL-c to exit without saving
      CTRL-k, s save
      CTRL-k, x exit and save
      CTRL-k, b start block
      CTRL-k, k end blow
      CTRL-k, c copy/paste block
      CTRL-k, f find ...

      vi has a steep learning curve, no onscreen help, it trapped me too many times for me to give it a chance whe I first started out.

      Joe was the only one besides pico with on screen help that I could find in my early slackware days. It stuck and I still use it all the time. In the mean while I've still learned enough vi to use it when I have to.
      • vi has a steep learning curve, no onscreen help, it trapped me too many times for me to give it a chance whe I first started out.

        You said it! I find it truly perverse that you need to read a manual, or a tutorial just to use a text editor. This is not rocket science and I've got better things on my mind than how to use the bloody text editor.

        Joe was the only one besides pico with on screen help that I could find in my early slackware days. It stuck and I still use it all the time. In the mean while I've

        • Funny that, replace "text editor" with "operating system" and you've just described the stereotypical Windows zealot.

          As with anything, it all comes down to what you determine to be the best tool for the job. If you work with all sorts of *NIX OSes, groking vi is valuable as it is ubiquitous.

          An interesting side-effect of using vi is the tie-ins between vi, ed, and sed, as they all use largely the same command set. Knowing how to do something like a search-and-replace in one translates easily to the other t
          • Funny that, replace "text editor" with "operating system" and you've just described the stereotypical Windows zealot.

            Perhaps, but I wasn't talking about operating systems. I was talking about text editors. Which I feel is a totally different class of problem/difficulty. Why do I need a manual to do the simplest and most basic things in a text editor? Seriously.

            As for that "it's a steep learninig curve, but once you learn it it's powerful" statement people like to bring up, things like Joe are powerful

            • What exactly is it that vi's steep learning curve gives people apart from a feeling of "eliteness", that can't be found elsewhere in easier to use software? What's the pay-off?

              Well, for starters, when you spend a good deal of time editing text files (source, confs, whatever), vi can be marvelous for doing a lot of work with just a few keystrokes. Delete a word, delete a line, delete to this mark, search and replace, yank and paste, all easily done with 2-3 keypresses.

              When having to do edits over a consol
    • and more intuitive

      when are ppl going to realize that 'intuitive' is not an objective standard and that it means different things to different people? Intuitive implies a pre-learned context that not everyone shares. It's juat a fancy way of saying, "I like it!".

    • by Eivind Eklund (5161) on Tuesday April 27, 2004 @07:37AM (#8982552) Journal
      Why am I "married" to command line editors? There are really two reasons: Flexibility of context for use, availability in the context I am, and the price of screen real estate.

      I'll address these in opposite order (which I think may be in reverse of priorities, but I'm not sure):

      A plain xterm with a minimal border takes less screen real estate than a GUI editor. Screen real estate is a limited commodity - I'll do more or less anything to get more space for what I'm actually working on instead of decorations. And what I'm working on is the text I'm editing, not the buttons and menus that sit there.

      A "command-line-based editor" (started from command line and run in the same window allows me to edit a file *in the same visual context as I already was*. This means that I have less of context change than if I either start a new window or use an editor launcher to get a buffer in an already running editor.

      And finally, a terminal-based editor gives me flexibility to use the same editor in most contexts I use an editor. I can run it in a console to fix up a config file on a machine that hasn't got X yet, I can run it remotely on a server that isn't supposed to have X installed, I can run it on a remote machine I don't trust to have an X connection to my box (as an X connections allows keyboard snooping), I can run it when I sit on a Windows box with no X and should fix an issue with a server for a customer that use Windows desktops and Unix servers, I can run it when there is enough latency for X to be a pain, I can run it against servers where an X based editor takes too much resources (yes, these exists - for instance, I'd feel bad about running an X based editor on the FreeBSD.org servers, for resource reasons), etc, etc, etc.

      Basically, there are a couple of direct UI advantages to terminal based editors compared to X based editors, as well as there being a lot of times it just isn't feasible to run an X editor. Until an X editor in itself is noticably better than the terminal based editors (and that day may come, but I don't know of any X based editor that is clearly better) people like me will keep running only terminal based editors, instead of running an X based editor with a side-dish of a *different* terminal-based editor whenever we can't run the X-based one.

      Eivind.
  • Great news, but.. (Score:5, Insightful)

    by manavendra (688020) on Tuesday April 27, 2004 @05:31AM (#8981778) Homepage Journal
    realistically, how many ppl use Joe?

    Yes I've used wordstar in past. And Joe as well. But it seems to me the world has moved far far ahead in the last few years. Sure, vi and emacs lovers wouldnt even think of using any other editor, but IMO, for any serious editing purposes there already are a variety of editors available.

    So perhaps, this is news for those who get a nostalgic feeling about the good-old-days. Maybe some will even d/l and give it a go, but the very fact that the this is the first major feature improvement even though the SourceForge project has been open for contributors for over a year, speaks volumes about its usage, demand and popularity.
    • I for one use Joe.

      How was this about freedom of choice?
    • by lintux (125434)
      There are more Joe-users than you'd expect. When I started with Linux, about seven years ago, I tried out all editors, and joe was the only sane editor I could find. And once you get hooked, it's hard to switch to something else.

      And so far I haven't found any reason to switch to a new editor. Not even joe 3.0. Joe 2.8 is almost completely bug-free, while the version currently available at SourceForge is quite buggy, not very portable anymore, and in fact it just doesn't really have any new feature worth up
      • Oh I'm sure there are plenty of Joe afficionadoes. But that's not what I'm contending at all. It's a free world (at least most of it), and people are free to have their choices and preferences

        Its the bit about investing time and energy into revamping something that only the afficionadoes will use, and admire. The bit that says the project has been open for contribution for over a year with not very many feature updates. And the bit in your post itself that talks about the latest build being buggy

        So it
    • Re:Great news, but.. (Score:5, Interesting)

      by Alan Cox (27532) on Tuesday April 27, 2004 @06:29AM (#8982067) Homepage
      I for one use joe. It does what I need and it does it fast. More to the point I suspect it uses the same keystrokes I learned back in prehistory (before DOS!) from VDE and Wordstar on CP/M.

      Joe 3 will be most welcome here.
    • Perhaps, but Joe still has users... and frankly, if VIM had 5 users throughout the entire world, I'd still be one of them. Basically, if it's got what you want and it's for your own use, use it!
    • Yes I've used wordstar in past. And Joe as well. But it seems to me the world has moved far far ahead in the last few years.

      Yes, the world is marching ahead. Now instead of Wordstar/Joe, most people are using vi.

      Instead of crufty old DOS/Windows/OS2/Mac, the up-and-comming OS is Unix.

      Hooray for progress!

  • by LoboRojo (758260) on Tuesday April 27, 2004 @05:31AM (#8981781)
    Cannot believe the bunch of negative comments on Joe... what are you trolling about? In the old times, for most people getting into Linux from DOS, JOE was the only editor worth to be relied on. vi was cryptic as hell and emacs was... emacs.

    Long life dear old JOE!
  • by Anonymous Coward on Tuesday April 27, 2004 @05:31AM (#8981782)
    When I started at the university ten years ago, I was confronted with editors like vi, pico and emacs. Emacs was usually the last choice since the old Sun IPX:es had a hard time coping with ONE operating system. My first confrontation with vi gave me panic and I killed it, only to receive a death notice by mail shortly after. (It took 2 years until I dared starting it again). Joe was one of the few programs I managed to save in (because I used pine, I guess), so I stuck with that.

    Later I had an affair with Jed and found its syntax hiliting to be a bless. And, I could figure out how to get the background black!

    Now, I've grown up and am much to comfortable to develop in anything less than a good IDE.

    /Pung

  • pah! (Score:3, Insightful)

    by chegosaurus (98703) on Tuesday April 27, 2004 @05:32AM (#8981789) Homepage
    Give me CygnusEd or give me death! Now there was a text editor.

    BTW, had to smile at the end of the editorial - as if anything could be more arcane than vi and/or more cumbersome than EMACS!
  • Wordstar Like (Score:3, Insightful)

    by advocate_one (662832) on Tuesday April 27, 2004 @05:33AM (#8981795)
    that's a turnoff for a start... and an awfull lot of the younger slashdotters will be going "Wordstar"??? Yes kids... it was big but Wordstar failed to keep up in the feature race back in the days of Wordperfect for Dos etc... I use nano and or pico myself...
  • by Andreas(R) (448328) on Tuesday April 27, 2004 @05:42AM (#8981843) Homepage
    Let me just recap the well known reasons why vim is better then joe:

    vim is upward compatible to vi.
    So if you master vim you can edit with vi. vi is on every unix box, even on the most "naked" ones.
    In addition, vi runs on practically any terminal and any connection, even when logged in from half around the world through several "hops". (I'm typing this on an old Ampex terminal (vt 100 like) via a 9600 Baud connection.)


    # vim works like you think.
    Many commands are "mnemonic". In a recent post, Randy has put it quite nicely:


    As I said earlier, vi works like I think. I think "replace this word with that one;" "delete this line;" "yank this paragraph and put it down there;" "move there and insert a word;" "format this paragraph." Vi provides commands that map to how I think. Some of the time I'm just typing in text without editing it, but normally I'm editing text. I tend to write something, then go back and make it perfect. I prefer to copy something that is already there and then modify it to be what I need. This expresses very well what I believe has been a major design goal of vi!


    # Now for the modal/modeless controversy.
    If you really think about it, it boils down to the following: it's a matter of how you define "modal"/"modeless"; in other words: if vim is modal, so is emacs - if emacs is modeless, so is vim.
    The reason: in emacs you are by default in "insert" mode; you have to type "ctrl-m ..." to issue an editor command; so "ctrl-m" is actually a switch to command mode). In vim, you are by default in command mode; when in insert mode, you type and then some command, and then i to get into insert mode again.
    While programming, you are at least half of the time in command mode (if you are an Emacs user you might not be aware of that because nobody calls it like like that). The difference between Vim and Emacs is that most most Vim commands are mnemonic and need much less modifier keys, such as Ctrl, Alt, etc.


    # I believe that modal editors are more efficient for programming (and similar tasks, like writing latex).
    This is because I find myself much more often editing text which is already there, rather than producing new text which hasn't been there before.
    This goes well with the observation, which someone reported in the comp.editors news group about joint strain. I almost get joint strain myself when I see emacs users holding down the ctrl or alt key all the time with their pinky or thumb ;-) ...


    # I'm not sure what the reason is, but I've never seen emacs users who actually used all those feature which emacs-the-editor offers. (At the office, I'm surrounded by emacs and nedit users ;-) I mean features like marks, tags, jumping up/down paragraph-wise, jumping to the beginning/end of a function, searching identifiers in all include files, etc....
    I suspect, this is because it's simply just too difficult to remember all those ctrl-alt chords. :) [no offense intended!]


    # Speed: CPU-wise, vim is still by far more efficient than joe.
    Try running joe on an SGI Indy! Or on a PC/286!

    • All reasons why I love Vim so much and make sure I have it on all my machines be they Linux, Solaris, BSD or WhineDoze

      However, Editors like Joe still have their little niche in the software ecosystem since they are small (not sure how big the new one is yet, hope it doesn't make this comment look foolish by dwarfing Emacs :) ), runs on pretty much anything that supports curses and for smaller jobs quick and simple to use.

      Much as I like Vi, sometimes there are editing tasks that are more intuatively done

    • by Croaker (10633) on Tuesday April 27, 2004 @08:24AM (#8982972)
      # vim works like you think. Many commands are "mnemonic".

      Uh, not the way I think. Not the way most people think. Most people, especially those new to the UNIX platform, have no clue. Does alert you to the help facilities on starting up? Does Vim just let you start typing?

      Mnemonics are sweet and all, but they are useless unless you already know the command and you are trying to remember it. Joe was really one of the first editors that made it easy for newbies to get help straight off the bat.

      # Speed: CPU-wise, vim is still by far more efficient than joe. Try running joe on an SGI Indy! Or on a PC/286!

      You're talking out of your ass here. Have you tried running joe on a slow platform? I have... 16 Mhz 68000 UNIX systems, under a 80186 (yes, "1", that's not a typo) at 10Mhz under DOS. What's more I've used it over 1200 baud modems, raw telnet connections across the country back when you were lucky to have a 56k baud line shared with an entire campus. It worked perfectly. I'm not saying that Vim can't do that as well, but you obviously have no clue when it comes to Joe's system requirements. Maybe you're thinking it's some offshoot of EMACS?

  • Value (Score:4, Insightful)

    by mpmansell (118934) on Tuesday April 27, 2004 @05:46AM (#8981865)
    I was browsing this article armed with moderator points, but the quality of the initial few posters has irritated me enough to make a post myself.

    The old hands among us will remember and still have the hidden ability of WordStar keystrokes 'programmed' into our fingers. While many of us have moved on to more powerful editors, we still appreciate that Wordstar like editors give efficient and competent editing capabilities in a small package. There are many of us that don't like drop down menus since we actually spend time writing code and find the action of hunting a mouse menu cumbersome.Deriding these tools because they are DOS like is irrelevant

    While I don't often use it, Joe is a good example of this class of editor and I know many people who enjoy using it. While I am firmly in the Vi camp, I enjoy the fact that they have the choice to use a tool that suits them.

    However, with the addition of syntax colouring, it may well become my editor of choice (instead of nedit) for when I'm doing multiplatform work and the practical and psychological leap of hopping from a WhineDoze box with Visual Studio to a linux box with Vi (utterly different paradigm) causes tangled fingers (and nerves :) )

    (Please feel free to donate large sums to pay for my treatment when windows finally drives me nuts)

    On a more general /. rant, over the last few years more an more trolls have invaded our forum. Too many socially defective individuals think that purile comments and insults are somehow witty, even though they have nothing of value to add to the discussion. All too often I see the hard work of developers who are donating their creations to our community belittled by people who I doubt even have the skills of a script kiddy.

    Please people, if you have nothing of value to say, then just don't say it.

  • by carndearg (696084) on Tuesday April 27, 2004 @05:49AM (#8981874) Homepage Journal
    I used to use JOE but moved to vi when I found myself working on more JOE-less machines. I used because it had the Wordstar keys I was used to from the DOS editor I used at the time. There are still a lot of people out there with DOS skills who find life difficult when moving to a Linux or similar environment. For many this might seem like a retrograde step, but I have often wished that there was a port of the DOS 5 Edit interface on a Linux editor, complete with clunky MS style menu system. If people are to be encouraged to move operating systems, a few familiar looking tools would help them along their way.
    • When I switched from the IBM mainframe environment to DOS, I took a DOS port of a mainframe editor with me. We used to use XEdit on the mainframe, but used KEdit on DOS. That was a nice editor...

  • one word: mcedit (Score:3, Interesting)

    by ironhide (803) on Tuesday April 27, 2004 @06:03AM (#8981934) Journal
    I use mcedit contained in Midnight Commander [ibiblio.org], more nostalgia and userfriendliness than either Joe or Pico. It also has a nice blue color which remind me of the days of dos edit or wp5.1. Screenshot here [eitn.wau.nl].
  • by slim (1652) <john AT hartnup DOT net> on Tuesday April 27, 2004 @06:07AM (#8981958) Homepage
    "cannot finish understanding vi's modes"?

    Give over, man. It has *two* modes! You can always get back to the default mode by hitting escape.

    Even iPod has 2 modes (wheel fer scrolling / wheel fer volume)

    Now Emacs, that's another matter. I've put serious effort into learning Emacs on three separate occasions in the last 10 years, and every time I gave up because even the simplest thing requires you to remember a seriously obscure series of keystrokes.

    -sigh- should have learned not to join editor flamewars by now.
  • by lokedhs (672255) on Tuesday April 27, 2004 @06:08AM (#8981961)
    Joe does not have proper unicode support, contrary to what many people claim. It only supports BMP, the fist 64K of characters out of the more than 1 million possible characters.

    If you load a file with non-BMP characters in it they will come out as garbage. If you try to input any such characters it will mess up every single characters except those with a code point less than 128.

  • by dargaud (518470) <slashdot2NO@SPAMgdargaud.net> on Tuesday April 27, 2004 @06:10AM (#8981973) Homepage
    At a recent job interview I was asked whether I prefer vi or emacs. My answer was none of them. If there's no X then pico/nano is probably enough to get the system up and running. And then I can use nedit in X. Anything else will be missing from the system.

    BTW, nano is the editor of choice in the Gentoo [slashdot.org] setup. Good for them.

    I didn't get the job...

  • by Kaemaril (266849) on Tuesday April 27, 2004 @06:14AM (#8981993)

    What, no screenshots? :)

  • Editors (Score:3, Interesting)

    by wpiman (739077) on Tuesday April 27, 2004 @06:48AM (#8982177)
    What- no wordpad comments?!?!

    Anyone who ever has to work in a cross platform enviroment should at least be able to use vi. This is everywhere.

    Personally, I like it but it took some dragging me across the hot coals by one stubborn instructor in a week long class to get me to adopt it. Once I did, I liked it. Now I use GVIM on the PC and vi on the unix platforms. GVIM on the PC is real nice, it has language support and pull down windows. What I'd like to do is learn how to set up XEMACS to run in VI mode so I can get the best of both words- but I am to busy doing work or reading slashdot to learn.

  • by MoobY (207480) <anthony@lieke[ ]net ['ns.' in gap]> on Tuesday April 27, 2004 @07:14AM (#8982338) Homepage
    Too bad they have provided only a limited list of syntax files. As an example, there is no syntax highlighting file for C++ programs yet.
  • I know, this is about JOE, not VI, but the submission DOES bring up an almost universal misconception people have about vi.

    The whole "insert mode" versus "command mode" thing in vi?

    It's a mistake. There is no "insert mode".

    VI is a command-oriented editor. You're always entering a command. The "insert mode" is just an incomplete insert command. The command structure of VI is basically a simplified subset of TECO.

    Once one quits thinking of it as being in this mode or that mode, and thinks of inserting text as a command, 99% of the problems people seem to have with vi just drop away.
  • by Croaker (10633) on Tuesday April 27, 2004 @08:11AM (#8982856)
    Joe (the Joe in JOE) was my college roomate. He'd stumble in in the middle of the night to rave about this or that optimization, and how he'd figured out the perfect way to do such-and-such.

    Technically, the one thing Joe kicked most other editors asses at (except perhaps vi) was its ability to provide a user-friendly text editor environment over slow connections. Joe paid a lot of attention to optimizing the screen redraws to ensure that the minimum number of characters were sent over the pipe. Back in the days of 1200 baud modems and painfully slow cross-country telnet sessions, this made a big difference.

    It's funny how JOE (the editor) keeps turning up... I hacked my TiVo recently following all of those instructions on the Internet, and was amused to see that the editor of choice for TiVo hackers is... Joe!

    Later today I'll be installing Gentoo on what is going to be my home theater box. The first program I'll emerge? Joe. Simple as that.

  • by helixblue (231601) on Tuesday April 27, 2004 @08:16AM (#8982896) Homepage
    My first text editor in UNIX was vi. I hated it's arcane commands, but saw it's usefulness if I was actually on the 300 baud connection it was designed for. I was then introduced to pico. I used pico for a few years, and it's just about as simple of a text editor as you would want. The commands are fairly easy, but sometimes I needed to go to the help screens, and hated navigating through them to fine some of the stranger options I wanted. I was also frustrated by the lack of advanced features that I knew from vi, like command line pipes and such.

    I don't recall from where, but a few years later in 1997, I found joe. As a former pico and vi user, I really liked joe. It allowed you to show all the shortcuts on the top of the screen while you were editing documents, so it was easier to learn than pico, and it allowed many of the advanced functions of vi.

    For instance, command line pipes are probably my most used joe feature that wasn't available in pico (maybe someone snuck it in recently). You can select a bunch of text, and hit Ctrl-K/. You are then prompted for a command line that all this text will be sent through. Your command line can be as easy as "sort", and all of your lines that you are selected, or as complex as a command-line perl script. For me, the most common are sort, uniq, cut, and perl.

    On top of that, joe felt natural. From 1987 to 1996 I used Wordstar throughout all of my school reports. I knew all of the key combinations by heart.

    I get weird looks from other senior UNIX admins still when they ask "vi or emacs?", and I answer "joe". I've been doing UNIX admin work now for 8 years, and still hate vi to this very day. I know enough to get a machine repaired enough to install joe, however. joe, screen, and zsh are the first 3 things to get installed on any machine I administer: from Linux, to Solaris, to IRIX to FreeBSD. When I teach new people UNIX, I teach them with joe, not vi. If I ever meet Joseph Allen, I'll be sure to buy him a drink!

  • by ExpressWay (766342) on Tuesday April 27, 2004 @08:29AM (#8983040)
    It's fun to read a thread on character editors once again. These discussions pop up only occasionally these days. It's so rare to find a subject where everyone is right, everyone is wrong, and no one is without an opinion, yet everyone recognizes that the issue is of no consequence, so we avoid personal attacks. (At least with my threshold.)

    Here are my qualifications: I've been using UNIX for 32 years, starting with ed, the original line editor. No screen editors then because we didn't have screens. They didn't show up until around 1975. Soon after Bell Labs employees who went to Berkeley started bringing vi back with them.

    Anyway, now for my opinions:

    1. One must distinguish between the learnability of an editor and its usability. (True of any user interface, in fact.) For UNIX character-oriented screen editors, there is a huge difference between the two. For other user interfaces the difference is not so great, but it is in this case. Go to a beginner learning vi and you will find that the modes are confusing. Go to an experienced vi user, and you will find that he or she is barely aware of the modes.

    2. I edit UNIX files a lot, but in two very different ways: The first is occasional use, right at the console, when I'm unfamiliar with the system or just setting it up. In this case the last thing I want to do is install an editor. I would be happy to use ed; I just want something quick to, for example, set up an fstab file. The second kind of use is for everyday editing, and for that I'm willing to take the time to install what I want. Actually, though, because I have so many different machines, I don't bother. As soon as the system is able to, I go to my primary machine and access the new machine via SSH or Xterm.

    I used to think, as many others here do, that vi was the essential editor to learn because it is always there. Imagine my surprise when I installed gentoo the other day and found no vi! Something I'd never heard of, nano, was there instead. OK, fine, Control-o to write the file. At least it was listed at the bottom of the screen. Soon I "emerged" vi (vim, really), and the Gentoo system was back in the fold.

    For everyday use, I never use a character editor anyway. I did once, but stopped around 10 or 12 years ago. (Guys, I'm way older than most of you, but even I know that it's 2004!) So for me (given my description of the roles editors play, above) joe has no use whatsoever. In fact, it solves a problem that I don't actually have.

    Nonetheless, I wish the new joe project all the best. WordStar (which I used a bit in the mid-1980s) was a great piece of work, and it's nice to see it live on.

  • by kale77in (703316) on Tuesday April 27, 2004 @08:41AM (#8983180) Homepage

    There was a thread months back about getting a package picked up by the major Linux distro's. The funniest response said "Write a text editor, man -- there just aren't enough text editors in Linux".

    After 300 odd posts, the only point worth saving that I've thus far seen is that Joe is friendly to people who still think in terms of some program they used in the eighties.

    So how about somebody writes the kind of editor we need NOW?

    The biggest challenge over the past few years has been editing *ML text on servers via browsers, and making it BOTH XHTML (or some subset thereof) and user-friendly. I've seen 20-odd attempts to do something *like* this, but nothing that actually puts the two together.

    IMHO then, the #1 most helpful thing that could be written at the moment is a browser-mod for Mozilla that would allow a web form to attach a DTD (and a stylesheet) to a TextArea, which the browser would then respect by firing up an XML editor that followed the given XML definition. Xopus could be a good model for how this might work.

    I won't say there hasn't been progress -- I'm writing and spellchecking this HTML in gVim via Mozex at this moment. We're getting there! But the DTD linking can only really occur in the browser.

    (Write it myself, I hear you say? I don't have 3 months free to get my C up to speed. Anyone want to code this in exchange for a website?) :D

  • by Danny Rathjens (8471) <slashdot2@@@rathjens...org> on Tuesday April 27, 2004 @09:19AM (#8983622)
    I've never tried the others, but jpico is really great for those that first learned pico. jpico is just a symlink to joe, but when run that way all of the pico keybindings like ^K and ^U to cut/paste lines work; except now you have many of the features pico is missing like search and replace.
    So it is a great way to 'move up the ladder' of editor functionality/productivity.

    Incidentally, the first unix editor I used was 'ed'. For those arguing for an editor to be used on every system, it should be the ancient 'ed' which is even a part of the rescue shells like sash(this is what you use when glibc gets messed up somehow or you messed up ld.so.conf and none of your dynamically linked binaries work, ;).

  • VI modes FUD (Score:5, Interesting)

    by oren (78897) on Tuesday April 27, 2004 @09:21AM (#8983658)
    VI doesn't have modes, damn it! VI has commands, period. It so happens that some commands have arguments, one of the possible arguments is text to be inserted into the file. There is no "insert mode" and "command mode". If you learn VI keeping this fact firmly in mind, you'll have no problems. If you try to keep track of "insert mode" vs. "command mode" you'll get lost faster than you can say "dt,f)P".

    People get so hung up about VI's "modes" they miss its true brilliance - its orthogonal command structure: a VI command is usually a combination of (1) character(s) indicating which action to take followed by (2) character(s) indicating what area of the file is affected. For example, if 'w' moves the cursor one word, and '$' moves it to the end of the line, then you can combine them with the 'd' (delete) action to obtain 'dw' - delete word and 'd$' - delete to the end of the line.

    When you insert text, you type something like "aText", reading "add-to-right-of-cursor" "Text" "done". "Text" is just an argument to the "add" command (there are various other commands that also insert text into the file). There is no "insert mode", there's just "writing the argument to an insertion command".

    This is much more intuitive than remembering that control-W or alt-E deletes a word and control-T or alt-Q deletes to the end of the line. It is also much, much more powerful, since at the price of N+M commands you get all N*M combinations. No other editor comes even close. I'll bet most non-VI users don't know whether their editor even has a command to delete to the end of the line, and even less what the command is if there is one. No to mention useful things like "cut everything between this parenthesis" ("d%"), or "copy the next function argument" ("yt,").

    *That* is what VI is all about. It is also why so many editors can be made to emulate each other's keystrokes, but they can't emulate VI.

    I have had friends learning VI, and once this simple notion "clicked" they became proficient very quickly. Watching people learn VI is rather fun... first, make sure they understand the above. Then, and only then, let them work through the tutorial, and in general use VI for all their editing work.

    For the first few days, they'll tend to throw a chair at you if you ask them how well things are going. Don't worry, that's a normal response. Most people drop off at this stage, but since your vic... - sorry, friend - knows why he's going through this, he'll pull through.

    Within a week you'll see the "click" happening. It is easy to verify; at this point, be prepared to duck another chair if you dare suggest to the new VI convert that he give it up for the "intuitive" editor he's been using before. The real fun part is having plenty of witnesses to both the "before" and "after" reactions.

    Now, if someone decides, for some mysterious reason, the universe needs yet another editor, at least do it *right*! The "perfect" editor would use the VI way of constructing commands, but all commands would start with control-X or alt-X, so that normal ASCII characters would be just inserted. My biggest disappointment with Emacs is that it doesn't work this way. I'm certain it is possible to write an Emacs mode that _does_ work this way, but nobody did (except, of course, VIPER - which makes Emacs emulate VI).

    I have been using VI ever since its first version came out for UNIX version 7, and AFAIK, in all this time, *nobody* has *ever* came up with another editor that uses VI-like combined operator/operand commands. For the life of me, I can't figure out why. I suspect a lot of it is due to people getting so hung up about VI having "modes" and therefore being so "bad" there's nothing good to learn from it. Well, their loss!

    Well, I (and many others) will hang on to our out-"moded" editor. VI addiction is so strong that I have personally ported VI to VMS to satisfy it. Today we have VIM running on every imaginable platform, so getting our fix is easier than ever.
  • JED (Score:4, Interesting)

    by Tmack (593755) on Tuesday April 27, 2004 @09:40AM (#8983887) Homepage Journal
    Alright, I havent tried JOE that much, but the other one, JED, took me away from emacs forever. I cant stand editing and programming in vi, I know it enough to use it if its the only thing around, but its still too cryptic, and has a steep learning curve and no built in help (other than Invalid Command!). Granted, you wont need the help once you master every command an editor has to offer, but who really has time for that? If I should work on a project where a command I never used before would speed things up, with vi I would have to launch a manpage or browser and go look it up. JED, like emacs has apropose (not sure about JOE). Having started under emacs, JED's default emacs mode made me feel at home (it has a Wordstar mode too if you prefer), and if your terminal supports color, you get your syntax highlighting (and its been there for a while, ie: not a new feature). Add to that the different language packs (that auto-load by file extension or #! line) for different programming languages to auto-indent, check basic formatting rules (checks parenths/brackets/; etc) and change the syntax coloring rules, and it has multi-level undo! Add in the interactive replace_cmd and most of emacs' useful functions. I tried it when I was tired of emacs bloat, vi's err vi-ness, ed's uselessnes, and started trying the other varients installed from my slack distro. Joe was a step up deffinately, but to me Jed was better.

    Tm

  • Editor Wars . . . (Score:3, Interesting)

    by Java Ape (528857) <mike.briggs@3[ ]net ['60.' in gap]> on Tuesday April 27, 2004 @10:39AM (#8984650) Homepage
    There have been a number of excellent comments regarding ubiquity, use or screen space, and ease of use. Like most holy wars, there is some truth on all sides. I've used Joe -- it saved my butt several times years ago when vi was a strange and foreign demon-tool to me.

    Having worked for companies that preferred both emacs and vi, I've learned both reasonably well.

    The best editor is the one that meets your needs. I consider all of these as terminal editors, good for quick and dirty edits of small scripts or config files. I'm personally partial to vi, and use it frequently for such tasks.

    The best GUI editor I've ever found is JEdit. It's fat, written in Java (not universially installed by any means), and likes to take up screen real estate. But it has so many features to make text-editing painless! My goodness, it's like the good-parts of every other text editor I've ever worked with, and it's got syntax higlighting etc. for every language I've ever heard of. No offense to the GUI versions of VI and emacs, but they've been roundly beaten.

    Personally, if I'm going to get serious about editing code, it's almost always better to either transfer the files to my local box or install JEdit on the remote system. I lose a little time in setup, but I can work much more quickly and efficiently.

    Naturally, if all I want to do is add a hosts entry or change a firewall rule, I'll use a console editor. Big job = big tool, little job=little tool. It's a simple concept.

    While it may be true that to a man with a hammer, all problems resemble nails, at least we can employ a variety of hammers!

  • Give me a break (Score:4, Interesting)

    by 93 Escort Wagon (326346) on Tuesday April 27, 2004 @10:40AM (#8984664)
    ...and cannot finish understanding vi's modes...

    Why do vi folks always think "if you don't like vi it's because you don't understand vi"? Maybe we prefer a different editor simply because we do. To me, vi seems like a relic of the 80s - a powerful relic, to be sure; but still it's a relic.

    On a related note, I don't use "mail" from the command line anymore either...
  • JOE? How about JED? (Score:3, Informative)

    by ThisIsFred (705426) on Tuesday April 27, 2004 @11:18AM (#8985192) Journal
    Oh sure, JOE gets on the front page of Slashdot. How about JED? It's like the missing editor that Emacs never had. It's also got built-in S-Lang scripting, has built-in syntax highlighting, session recovery, drop-down menus, and has been ported to many platforms.

    I guess if we're going to whore our favorites, go here [jedsoft.org] to learn more about JED.

As in certain cults it is possible to kill a process if you know its true name. -- Ken Thompson and Dennis M. Ritchie

Working...