OT: Editor like CygnusEd on Amiga
Marko Vojinovic
vvmarko at panet.co.yu
Wed May 18 23:01:56 UTC 2005
Hi everybody,
I am watching the list for some time now, but this is the first time I open a
topic. And it turned out to be off-topic... :-))
Short version:
Can anyone give me a recommendation about an editor that is as close as
possible (by look, feel and function) to the famous Cygnus Editor from the
old Amiga days?
If not, tell me where to start if I wish to write my own text editor? Is there
a smarter way, or just From Scratch?
Long version:
OK, after Amiga and CED, I have _never_ seen an editor which even resembles
it, no matter what platform, what OS, whatever. And Linux generally is a
place that should not miss having such a tool.
For those of you who had no touch with Amiga and CED, these are the features I
would wish for (and not been able to see anywhere):
* Super-smooth scroll of text. Poetry for the eyes. If the cursor is at the
bottom of the screen/window and I press DownArrow to go down, the whole
screen scrolls **pixel by pixel** up, and when enough space is available
down, a line of text appears. Since I first started using Emacs, one of the
main disadvantages I saw was "half-a-page-jump" when I reach the bottom of
the screen. I usually get completely lost in text (especially if doing
C++... :-)...).
* Twelve-character jump to the left or right on keystroke. Some shortcuts move
you to the beginning/end of line, some to the next word or delimiter, but if
the syntax is such that there are no "words" defined, you simply have to move
the cursor character by character. No way to go faster. Why twelve? Not sure,
but I guess it is an optimised value to get from anywhere to anywhere on an
80-column line with no more than 10 keystrokes. Once you get used to it, you
simply cannot live without it.
* Macro support, ie. define a keyboard shortcut for *any* action of the
cursor, no matter how complex. Example: write many equations in TeX? Just
press F1, and the cursor creates three new lines, puts \begin{equation} in
the first, \end{equation} in the third and itself in the second, waiting for
the user to fill in the details. Or, just press Alt+RightArrow and the cursor
jumps 12 characters to the right. OK, first time you have to do it manually
in order to record a macro, but after that life is simpler.
* Column-like selection. Select any box-shaped piece of text, and be able to
cut, copy, paste it etc. OK, I admit, kile can do this too (that's why I use
it... :-))...).
* "Turbo" and "global" types of search-replace routine, and the distiction
between the two. When ask for replace, on first found string the user is
prompted to answer with "yes", "no", "global", "turbo" or "cancel". The yes,
no and cancel behave as usual. Global starts to replace each occourence of
the string by scrolling page by page in an average speed, and if the user
presses any key, replace is stopped. Turbo does not scroll at all, but every
occourence of the string gets replaced, and this is done _very_ fast (it was
extremely fast on an 14 Mhz Amiga...). On every editor I came in contact
with, there were only one of these two options, if at all.
* Ability to replace arbitrary characters. In a replace querry the user can
type ASCII code of the character to be replaced, and create sequences. For
example, replace the '13' '10' combination with '10', ie eliminate carriage
return character if followed by line feed. Or replacing 'a' with backspace
may give interesting results. Or replacing all escape characters with nothing
(ie. deleting them). This allows the user to manipulate binary files, if he
wishes to (I did, on a couple of occasions).
* Ability to display space, tab, CR and line feed with visual characters on
demand. OK, some editors can display end of line and some can do tab, but no
editor displays all three...
* Box-shaped cursor that does not blink. If it covers some character, the
character is displayed with inverse colors, while it's ASCII code is
displayed on the status bar. I think I saw some editors that can be made to
behave like this, but they lacked everything else.
* Other usual text-editor stuff: syntax hilighting, static and dynamic word
wrap on user-defined column, arbitrary positioning of tab lengths, ability to
work with muliple files at the same time, etc... I saw that kile generally
does most of these things, and it's good.
* Oh, and there is one thing that I saw *nowhere*, not even in CED, and I
needed it so badly lots of times -- the high-level search-replace querries,
like conditional ones. Example: replace abc with ABC and def with DEF but
only if there are no more than five characters between them. Or, replace abc
with ABC only if it is *not* followed by fgh. And similar stuff. Of course, I
can write a bash script to do such things, but...
OK, maybe it is too optimistic. But I am not just dreaming, (almost) all these
features actually _have_been_implemented_ in a _single_ program, Cygnus
Editor, for the Amiga platforms. I have never seen anything similar on a PC
or Mac.
Asked Google, asked the list archives, nothing... I can use the emulator and
use the Amiga-native program, but that is a workaround, not a solution. I
still have my A1200 on my desk, can use that too, but file transfer to the PC
box is not easy (although possible).
Should I start coding an editor? How do I make text scroll smoothly, as in
video games?
Any thoughts are welcome!!
Best regards, ;-)
Marko
P.S. If anyone wishes to know *why* do I need this or that feature, I'll be
glad to elaborate... :-))
More information about the fedora-list
mailing list