Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Text Zeilenweise im Speicher (was: EMACS)

1 view
Skip to first unread message

Andreas Kohlbach

unread,
May 26, 2023, 12:20:25 AM5/26/23
to
On 25 May 2023 11:52:59 GMT, Stefan Froehlich wrote:
>
> On Thu, 25 May 2023 12:54:07 Andreas Karrer wrote:
>
>> Das ist doch weitgehend eine Frage der Gewöhnung.
>
> Emacs ist wohl eine Frage der Speicherkapazität - nicht der des
> Rechners, sondern der persönlichen. Ich hab's anno damals versucht,
> weil ich vi(m) dem ersten Anschein nach vollkommen unzumutbar fand
> und bin kläglich daran gescheitert.

Konnte vi in seinen ersten Versionen zeilenweises Einlesen?

Vor ein paar Jahren habe ich mich eingehender mit CP/M beschäftigt. Der
Haupt-Editor war ed. Der hielt immer nur eine kleine Zahl Zeilen im
(RAM)Speicher. Wollte man andere Zeilen sehen oder gar editieren, musste
man die explizit einlesen. Was vorher im RAM war, wurde auf das externe
Speichermedium ausgelagert. Das ermöglichte das Editieren auch von
größeren Texten, wenn die Hardware nur 8K RAM oder weniger hatte,

Konnte vi das auch mal?

F'up2 dce.
--
Andreas

Christian Weisgerber

unread,
May 26, 2023, 2:30:06 PM5/26/23
to
On 2023-05-26, Andreas Kohlbach <a...@spamfence.net> wrote:

> Vor ein paar Jahren habe ich mich eingehender mit CP/M beschäftigt. Der
> Haupt-Editor war ed. Der hielt immer nur eine kleine Zahl Zeilen im
> (RAM)Speicher. Wollte man andere Zeilen sehen oder gar editieren, musste
> man die explizit einlesen. Was vorher im RAM war, wurde auf das externe
> Speichermedium ausgelagert. Das ermöglichte das Editieren auch von
> größeren Texten, wenn die Hardware nur 8K RAM oder weniger hatte,
>
> Konnte vi das auch mal?

Das geschah offenbar automatisch im Hintergrund.

vi(1) war ja nur der "visuelle Modus" des Editors ex(1), also die
Variante für Videoterminals mit frei positionierbarem Cursor statt
der alten Druckterminals. Der Source von vi/ex ist kein Geheimnis.
Auf GitHub liegt längst eine Konvertierung des alten SCCS-Archivs
der Computer Systems Research Group an der Universität Berkely mit
der gesamten dortigen Entwicklungsgeschichte von BSD.

Die Kommentare hier geben erste Hinweise zum internen Aufbau von ex:
https://github.com/jonathangray/csrg/blob/master/usr.bin/ex/ex_temp.h

--
Christian "naddy" Weisgerber na...@mips.inka.de

Christian Weisgerber

unread,
May 26, 2023, 8:30:05 PM5/26/23
to
On 2023-05-26, Andreas Kohlbach <a...@spamfence.net> wrote:

>> Die Kommentare hier geben erste Hinweise zum internen Aufbau von ex:
>> https://github.com/jonathangray/csrg/blob/master/usr.bin/ex/ex_temp.h
>
> Ah, 1993. Danke, interessant.

Das ist die Spitze des Repositorys. An den Innereien von ex hatte
sich aber seit 1980 nichts wesentlich geändert:

https://github.com/jonathangray/csrg/tree/f6bdc2fc71f6ff12f5c8c1930ee9a7366ae1a65a/usr.bin/ex

> Vermutlich haben alle Editoren, die alt genug sind, mal "zeilenbasiert"
> angefangen, weil RAM Speicher knapp und damit teuer war.

ex arbeitete intern mit Blocks. Die Zeilenorientierung ergab sich
auch aus dem Ausgabemedium: Ein Fernschreiber druckte auf Endlospapier.

> IIRC war es 1990 oder 1991, als ich mich mit edlin auf MS-DOS abplagen
> musste. Keine schönen Erinnerungen, da es ein Notfall (dämliche
> Entscheidung meines Ausbilders) war.

Ich habe in den letzten Jahren immer mal wieder Kleinigkeiten mit
ed(1) gemacht, in eingeschränkten Umgebungen. Wenn das Material
zeilenorientiert ist, wie typische Skript-/Programmiersprachen oder
Konfigurationsdateien, dann geht das.

Andreas Kohlbach

unread,
May 27, 2023, 2:55:01 PM5/27/23
to
On Fri, 26 May 2023 23:53:49 -0000 (UTC), Christian Weisgerber wrote:
>
> On 2023-05-26, Andreas Kohlbach <a...@spamfence.net> wrote:
>
>> Vermutlich haben alle Editoren, die alt genug sind, mal "zeilenbasiert"
>> angefangen, weil RAM Speicher knapp und damit teuer war.
>
> ex arbeitete intern mit Blocks. Die Zeilenorientierung ergab sich
> auch aus dem Ausgabemedium: Ein Fernschreiber druckte auf Endlospapier.

Ja, ich hätte "Blocks" sagen sollen. Mehrere Zeilen, aber nicht das ganze
Dokument, wie heute üblich.

>> IIRC war es 1990 oder 1991, als ich mich mit edlin auf MS-DOS abplagen
>> musste. Keine schönen Erinnerungen, da es ein Notfall (dämliche
>> Entscheidung meines Ausbilders) war.
>
> Ich habe in den letzten Jahren immer mal wieder Kleinigkeiten mit
> ed(1) gemacht, in eingeschränkten Umgebungen. Wenn das Material
> zeilenorientiert ist, wie typische Skript-/Programmiersprachen oder
> Konfigurationsdateien, dann geht das.

Man muss die Kommandos kennen. Und überhaupt die Modi verstehen (oder gar
wissen, dass es diese gibt). Ich war vorher den "Volltext Editor" des
Commodore 64, und den vom Amiga gewohnt. Da konnte man einfach drauflos
tippen, ohne sich um irgendwas zu kümmern. edlin zu nutzen war dann
"WHAT?!" für mich.

Ohne Doku hatte ich ihn nie verstanden. Durch Probieren herausgefunden,
wie man in den Editier-Modus kam. Dinge wie Backspace gingen nicht. Sodass
ich bei jedem Schreibfehler von vorne anfing.

Habe erst vor wenigen Jahren gelernt, wie ed(lin) in etwa funktionieren,
als ich mich mit CP/M beschäftigte, welches ich auf einer zeitgemäßen
Maschine emulierte.
--
Andreas
0 new messages