From owner-freebsd-questions Thu Nov 25 12:34:22 1999 Delivered-To: freebsd-questions@freebsd.org Received: from mojave.sitaranetworks.com (mojave.sitaranetworks.com [199.103.141.157]) by hub.freebsd.org (Postfix) with ESMTP id A84FD14A1B for ; Thu, 25 Nov 1999 12:34:18 -0800 (PST) (envelope-from grog@mojave.sitaranetworks.com) Message-ID: <19991125153045.40243@mojave.sitaranetworks.com> Date: Thu, 25 Nov 1999 15:30:45 -0500 From: Greg Lehey To: Mark Ovens Cc: Brooks Davis , James A Wilde , freebsd-questions@freebsd.org Subject: Re: Programmers' editor? Reply-To: Greg Lehey References: <00e101bf3681$44cb04a0$8c0aa8c0@hk.tbv.se> <19991124103253.B2554@orion.ac.hmc.edu> <19991124135521.44585@mojave.sitaranetworks.com> <19991125192634.B316@marder-1> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable In-Reply-To: <19991125192634.B316@marder-1>; from Mark Ovens on Thu, Nov 25, 1999 at 07:26:34PM +0000 Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Thursday, 25 November 1999 at 19:26:34 +0000, Mark Ovens wrote: > On Wed, Nov 24, 1999 at 01:55:21PM -0500, Greg Lehey wrote: >> On Wednesday, 24 November 1999 at 10:32:53 -0800, Brooks Davis wrote: >>> On Wed, Nov 24, 1999 at 02:39:01PM +0100, James A Wilde wrote: >>> >>>> And I don't really think vi is crap. It's just that the only >>>> thing less intuitive in its natural state than vi is probably >>>> emacs. . >>> >>> You aren't going to get any argument from me there. ;-) >> >> OK, I've said my piece here, and I disagree entirely. But it's not >> up to me; I've been using Emacs and similar editors for 20 years. > > A vi(1) user trying emacs(1) for the first time - > http://www.ukug.freebsd.org/~mark/badday.mpg :) > >> The real question is: what do newbies think? Anybody want to >> comment? > > OK, I'll comment. Since this emacs v. vi thing has reared it's head > again I used emacs instead of vi all day today (I even renamed vi, and > symlinked it to emacs to force myself). Brave man. With "newbie", I really meant somebody who hadn't used either editor. I'm not trying to convert vi users. > After the first couple of hours finding my way around (much use of > C-h) I got quite productive with it. The biggest difference I had to > adjust to was the fact that it doesn't have a command mode, any non > Ctrl-, Meta-, Shift-, Esc- chars you type go into the document, but > once I got used to that it wasn't so bad. I'd look on that as a plus. Two points to be made here: 1. If you want to enter any "special" characters, use c-q in front. 2. c-_ (control underscore; you'll normally use the shift key) will back out the last thing you entered. > One thing that I found puzzling is that several features that I would > consider basic editing requirements, especially for coding, are very > well hidden, for example: > > No apparent way to repeat the last command/editing action. I mentioned this before: m-p. In many cases, though, that's not the way you'd do it in Emacs. For example, in vi I'd use . to repeat an insert or a change command; in Emacs I'd do the insert and then copy the text to the kill ring (m-w), and then insert it elsewhere with c-y. The replace commands in Emacs are *much* more versatile, so I never find a need for . in this context. > ``goto-line'' doesn't have a default key-binding! When a > compiler reports errors/warnings it gives the line number so being > able to find it is essential (``G'' in vi). Yes, I don't understand that either. It's easy enough to bind, of course. I have this in my .emacs: (global-set-key "=18=07" 'goto-line) > Indenting is a big mystery. OK, when in C-mode it will > auto-indent, but for non-code text it doesn't seem to work. > This e-mail is done in emacs and indenting this paragraph and > the one above I found impossible to do other than manually. > > The first line of each was started with a TAB but no way could I make > emacs indent the subsequent lines to match (``:se ai'' will do it > automatically in vi, and if you later edit it and mess it up then > ``!}fmt'' will clean it up). I tried selecting the paragraph and then > Edit->Fill, but all it did was split it into lines ~75 chars but only > the first line was indented! (the ``goto-line'' paragraph above). Emacs has a different approach to this issue. Each buffer has a mode assigned to it. When you edit C text, you automatically get the c-mode loaded. With text, by default, you get fundamental, which doesn't know much about indenting. The first thing you can do is load letter-mode, which will do what you want to do. It also modifies the way m-q (fill paragraph) works. > Also, it's far from obvious how to change the indentation of a block > of text, this paragraph for instance. In vi, just put the cursor on > the first line and ``>}''. m-q. > Do you know of a "Emacs for vi users" guide do you (preferably > on-line)? No, but O'Reilly does a book. Greg -- Finger grog@lemis.com for PGP public key See complete headers for address and phone numbers To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message