262 lines
9.3 KiB
Plaintext
262 lines
9.3 KiB
Plaintext
|
Newsgroups: comp.editors,news.answers
|
||
|
Approved: news-answers-request@MIT.Edu
|
||
|
Followup-To: comp.editors
|
||
|
Subject: comp.editors - Frequently Asked Questions
|
||
|
Expires: Fri 10 Sep 92 09:07:34 1992 GMT
|
||
|
Reply-To: Ruben@Uib.no
|
||
|
|
||
|
Archive-name: editor-faq/The_FAQ
|
||
|
|
||
|
|
||
|
|
||
|
The following file is a set of Frequently Asked Questions for the group
|
||
|
comp.editors. Certain questions get asked time and again, and this is
|
||
|
an attempt to reduce the bandwidth taken up by these posts and their
|
||
|
associated replies. If you have a question, please check this file
|
||
|
before you post. It may save a lot of peoples time.
|
||
|
|
||
|
This FAQ tends to ignore emacs related questions, as they tend to be
|
||
|
answered adequately in the comp.emacs FAQ.
|
||
|
|
||
|
Please send all comments, discussion, suggestions for new questions and
|
||
|
so on to me, Ove Ruben R Olsen <Ove.R.Olsen@ubb.uib.no>. I'll try to
|
||
|
answer everything I get. I especially need more 'where to get sources'
|
||
|
answers. I'd like some Anonymous UUCP sites, if at all possible.
|
||
|
|
||
|
01) What is comp.editors?
|
||
|
02) Where can I get the latest release of GNU emacs/elvis/crisp/joe/...?
|
||
|
03) Someone has just posted 'my editor is better than your editor'. What
|
||
|
04) Can I get hold of the source code for VI?
|
||
|
05) I have a Emacs question. Should I ask it in comp.editors, or in
|
||
|
06) Someone just mentioned the 'buffer gap method'. What do they mean?
|
||
|
07) How do I reformat paragraphs in vi?
|
||
|
08) Has anyone got a simple editor for Unix?
|
||
|
09) Are there any vi archive sites around?
|
||
|
10) Where can I get vi for VMS?
|
||
|
11) How do I edit binary files with VI ?
|
||
|
12) Why does vi sometimes tell me 'Too much macro text'?
|
||
|
13) Is there a list of bugs in vi?
|
||
|
14) Whats a folding editor?
|
||
|
15) Where can I get the DEC editor EDT for UNIX.
|
||
|
|
||
|
|
||
|
01) What is comp.editors?
|
||
|
|
||
|
Comp.editors is an INET group for the discussion of editors, editing
|
||
|
interfaces and internals generally. For discussion of what an INET
|
||
|
group is, please see the regular postings in news.announce.newusers.
|
||
|
There was discussion some time back about making comp.editors into a
|
||
|
regular usenet group, but so far nothing has come of it.
|
||
|
|
||
|
Almost anything editor-related is acceptable in comp.editors, with a few
|
||
|
caveats (see question 05).
|
||
|
|
||
|
|
||
|
02) Where can I get the latest release of GNU emacs/elvis/crisp/joe/...?
|
||
|
|
||
|
You should check out the companion posting on this issue.
|
||
|
|
||
|
|
||
|
03) Someone has just posted 'my editor is better than your editor'. What
|
||
|
should I do?
|
||
|
|
||
|
Ignore it. Don't post a reply to comp.editors, whatever you do. These
|
||
|
flame wars tend to go on for ages and they never change anyones mind.
|
||
|
If you really must reply use email, or alt.religion.emacs.
|
||
|
|
||
|
|
||
|
04) Can I get hold of the source code for VI?
|
||
|
|
||
|
Not without a AT&T source license. VI is a direct descendent of ed(1),
|
||
|
and is therefore subject to AT&T licensing. Even if you were to get
|
||
|
hold of the code, to remove all of the AT&T code would be impractical.
|
||
|
|
||
|
There are, however a lot of public domain clones of vi around, Elvis and
|
||
|
Stevie being two. You may also want to check out Vile, which is a vi
|
||
|
feelalike, based on Microemacs.
|
||
|
|
||
|
|
||
|
05) I have a Emacs question. Should I ask it in comp.editors, or in
|
||
|
comp.emacs/gnu.emacs.help?
|
||
|
|
||
|
If the question is specifically about an emacs variant, no. You would
|
||
|
probably get more joy from one of comp.emacs or gnus.emacs.help.
|
||
|
Gnu.emacs.help is specifically for GNU Emacs, whereas comp.emacs
|
||
|
encompasses all variants of emacs (Yes, there is more than one type of
|
||
|
Emacs - there are over 50 in fact).
|
||
|
|
||
|
However, If the question is about an emacs in relation to another type
|
||
|
of editor, then its probably ok to post it here.
|
||
|
|
||
|
|
||
|
06) Someone just mentioned the 'buffer gap method'. What do they mean?
|
||
|
|
||
|
An editor can hold text in memory in a number of ways. If you use the
|
||
|
buffer gap, the file is split into two buffers, with the cursor always
|
||
|
between the two buffers, ie:
|
||
|
|
||
|
[ first buffer ][ second buffer ]
|
||
|
^ cursor is here
|
||
|
|
||
|
When the cursor is moved, a character is just copied from one buffer to
|
||
|
the other (depending on direction). This method makes inserting &
|
||
|
deleting and string searching easy. Insertion just requires extending
|
||
|
the first buffer by one character. Deletion is just removing the last
|
||
|
character of the first buffer. For string searching the file can just
|
||
|
be treated as a single string, with care only needing to be taken when
|
||
|
the match straddles the gap. Disadvantages include difficulty with line
|
||
|
based operations, and problems with page faults when the second buffer
|
||
|
is large. It's also quite hard to implement properly on some segmented
|
||
|
architectures. This is the method used by GNU Emacs.
|
||
|
|
||
|
Another method is a linked list of lines. This is exactly what it says.
|
||
|
When you read in the file, you split it up into lines, maintaining
|
||
|
pointers to the previous & next line. Line-based functions are much
|
||
|
easier with this method, but searching isn't so easy.
|
||
|
|
||
|
|
||
|
07) How do I reformat paragraphs in vi?
|
||
|
|
||
|
Rather than write a set of macros to do this for you, it's usually
|
||
|
easier just to use an external program to do it for you. If you have
|
||
|
fmt(1), then {!}fmt will reformat the paragraph under the cursor. This
|
||
|
can be fitted into a macro easily enough.
|
||
|
|
||
|
If you don't have fmt, then you can use nroff(1) similarly (with a few
|
||
|
caveats about getting rid of trailing blank lines).
|
||
|
|
||
|
A format program is also to be found inside the EX/VI archives. The
|
||
|
filename is vi.reformat.tar.Z. It claims to be a WordStar reformat.
|
||
|
|
||
|
|
||
|
08) Has anyone got a simple editor for Unix?
|
||
|
|
||
|
This comes up a lot. The answer is usually Microemacs, or some clone of
|
||
|
it. Another choice might be joe, crisp or fpted. See question 02 for
|
||
|
where to get them from.
|
||
|
|
||
|
|
||
|
09) Are there any vi archive sites around?
|
||
|
|
||
|
Ove Ruben R Olsen maintains one of the biggest vi archive sites around.
|
||
|
His site is mirrored at a number of sites worldwide. See the companion
|
||
|
posting for more information.
|
||
|
|
||
|
|
||
|
10) Where can I get vi for VMS?
|
||
|
|
||
|
Both TPU and GNU Emacs have vi emulations. You can generally find them
|
||
|
in ftp archives.
|
||
|
|
||
|
|
||
|
11) How do I edit binary files with VI ?
|
||
|
|
||
|
To do this you need a program that converts you binary file to
|
||
|
a plain ascii file. In the EX/VI archives there are two programs
|
||
|
to do this:
|
||
|
|
||
|
vi.bed.tar.Z - A good frontend.
|
||
|
vi.bined.tar.Z - Two filters to convert binary files to/from ascii.
|
||
|
Claims to solve the "Line to long" message.
|
||
|
|
||
|
|
||
|
12) Why does vi sometimes tell me 'Too much macro text'?
|
||
|
|
||
|
When vi starts up, it looks in three places for initialisation commands
|
||
|
of some description. It first looks in your EXINIT environmental
|
||
|
variable. If it doesn't find that, then it looks in the current
|
||
|
directory for a file called .exrc (some vi's do this *as well as*
|
||
|
looking at EXINIT anyway), and sources that instead. If it doesn't find
|
||
|
either of these, then it sources $HOME/.exrc.
|
||
|
|
||
|
The problem is that some vi's source both .exrc files anyway (this is
|
||
|
wrong - it should only ever source one), and vi's buffers overflow
|
||
|
giving you the above error message. One more bug found, Mr. Joy.
|
||
|
|
||
|
|
||
|
13) Is there a list of bugs in vi?
|
||
|
|
||
|
Not at the minute. If anyone would like to collect a list of known
|
||
|
bugs, I'd be happy to post it with this FAQ.
|
||
|
|
||
|
|
||
|
14) Whats a folding editor?
|
||
|
|
||
|
Another word for 'folding editor' is 'outline editor'.
|
||
|
|
||
|
This is quite a hard concept to explain without having a folding editor
|
||
|
in front of you to explain with. The idea behind it is to hide text
|
||
|
behind some sort of descriptive heading. For instance, if you were
|
||
|
working on some C code, but didn't want to see the millions of C
|
||
|
headers, you could fold that text away behind the heading 'INCLUDE FILES',
|
||
|
like:
|
||
|
|
||
|
In a normal text editor, the file would look like:
|
||
|
--- begin ---
|
||
|
#include <stdio.h>
|
||
|
#include <stdlib.h>
|
||
|
#include <bar/foo/blrufl.h>
|
||
|
#include <ktb/kick/inside.h>
|
||
|
#include <mary/had/a/little/lamb.h>
|
||
|
|
||
|
int heights()
|
||
|
{
|
||
|
return wuthering();
|
||
|
}
|
||
|
--- end ---
|
||
|
|
||
|
in a folding editor, it might look something like this:
|
||
|
|
||
|
--- begin ---
|
||
|
... INCLUDE FILES
|
||
|
|
||
|
int heights()
|
||
|
{
|
||
|
return wuthering();
|
||
|
}
|
||
|
--- end ---
|
||
|
|
||
|
Of course, the line can be unfolded, and you can see the original text,
|
||
|
and in editors such as Origami, this folding can be nested.
|
||
|
|
||
|
|
||
|
|
||
|
15) Where can I get the DEC editor EDT for UNIX.
|
||
|
|
||
|
[ Information supplied by Castor Fu (castor@drizzle.stanford.edu) ]
|
||
|
|
||
|
1. Using the the GNU Emacs EDT emulator.
|
||
|
This provides you with the key bindings but doesn't really have
|
||
|
the look and feel. One of the nicest things about EDT for novices
|
||
|
is that it really controls a vtxxx terminal competently, and makes
|
||
|
use of highlighting, keypad, etc. to aid casual users. This
|
||
|
implementation is designed for the "expert" edt user who has no
|
||
|
need for such niceties and primarily wants the key bindings for
|
||
|
his keypad.
|
||
|
|
||
|
2. Buy a commercial product. Probably the most widely used such is
|
||
|
EDT+ from:
|
||
|
|
||
|
Boston Business Computing
|
||
|
3 Dundee Park,
|
||
|
Andover, MA 01810
|
||
|
USA
|
||
|
+1 508 470-0444, FAX +1 508 474-8244.
|
||
|
|
||
|
I used their product a little bit on a Multiflow, but not enough to
|
||
|
REALLY tell how good it is.
|
||
|
Their product will probably cost somewhere $500 and $1000. But it
|
||
|
really looks like EDT to me.
|
||
|
|
||
|
3. Wait for DEC to announce it's port of TPU to Ultrix? I heard they
|
||
|
intend to make this a product.
|
||
|
|
||
|
4. We've started using Anker Berg-Sonne's SEDT. It's become the editor
|
||
|
of choice in our group among those who don't already know vi or
|
||
|
emacs, because it's very easy to use. I don't know why, but it is
|
||
|
not widely used/known about in the unix world for some reason.
|
||
|
(See also question 2 for where to find this editor).
|
||
|
|
||
|
|
||
|
|