C, PHP, VB, .NET

Дневникът на Филип Петров


* Из историята на текстовия редактор vi

Публикувано на 13 май 2024 в раздел История.

Първият в света What you see is what you get (WYSIWYG) текстови редактор е създаден преди близо 50 години. Казвал се е Bravo и е бил предназначен за Xerox Alto. Всяка буква от клавиатурата е съответствала на команда. Писането на текст се извършвало с команда „i“ (insert) – отваря буфер, който се запълва до натискане на бутона Return. Най-проблемно за новаците било да седнат, да отворят документ и да напишат думата „edit“. Команда „e“ (everything) маркирала целия текст, „d“ (delete) го изтривала, „i“ (insert) вкарвала в режим за писане и „t“ просто вкарвал буквата t. За нещастие команда „u“ (undo) можела да обърне само последната операция.

Идеята всеки бутон да отговаря на определена команда е дошла заради прекалено бавните модеми, с които терминалите работели. Трябвало да се спести колкото се може повече мрежови трафик и затова най-удачно било всяка команда да е просто единичен символ.

Днес части от Bravo продължават да живеят на повечето компютри по света. Създателят на визуалната надстройка vi на редактора ex (който от своя страна е производен от по-старите en, ed и em) е признал в интервю, че по-голямата част част от идеите за vi са били буквално изкопирани от Bravo. Вече са минали 45 години, откакто vi е включен официално като част от операционната система 2BSD. Думата „vi“ всъщност е синоним на команда „visual“, която вкарва ex във „визуален режим“. Програмата vi в Linux/BSD всъщност пуска ex (версия 2.0) директно в такъв режим. Може да пробвате сами. Затова по същество е неправилно да се казва, че vi е текстови редактор – редакторът всъщност се казва ex.

А чудили ли сте защо буквите h, j, k и l във vi действат по същия начин като бутоните със стрелки (местят курсора наляво, надолу, нагоре и надясно)? Причината е, че на клавиатурата за терминала ADM-3A, който разработчикът е използвал, не е имало отделни бутони за стрелки, а бутоните с тези букви са имали двойна функция.

За времето си ex е била изключително тежка програма. Заемала е почти цялата оперативна памет на повечето машини, на които е била използвана. При версия 3.1 дори се разширила толкова, че някои терминали вече не можели да го ползват! А днес ex вероятно е най-лекият текстови редактор.

Създателят на vi Бил Джой през декември 1978 г. е работил върху възможност за създаване на „прозорци“, т.е. да могат да се отварят много документи на един екран. За негово нещастие устройството за резервни копия (магнитна лента) се било развалило. Въпреки това той продължил да работи няколко седмици поред. Бил в много напреднала фаза, когато се случила бедата – повреда в компютъра му и така загубил всичко. Това го ядосало изключително много и тогава решил да зареже проекта – оставил го на свои колеги да го продължат. Днес всички Linux/BSD системи включват в себе си модифицирани варианти (клонинги) на редактора (напр. при FreeBSD се използва nvi, а в Linux се използва vim).

Накрая не може да не се завърши с кратка информация за битката за надмощие при текстовите редактори между EMACS и vi. Създават се и две пародийни религии – Църквата на Emacs и Култът на vi. Покрай тях се нарояват и множество вицове. Например:

It's difficult to get out of the vi mindset once you've^]Bdwiyou're in it.

Казва се също, че първата стъпка в кариерата на един хакер е да успее да излезе от vi, без да си повреди документа. Или пък: във vi има два режима – постоянно писукане и повреждане на всичко. Също: ако пуснете незапознат потребител да поработи с vi, ще получите псевдослучаен генератор на поредици от букви. И т.н. Обратно – за Emacs има редица закачки свързани с името: Escape Meta Alt Control Shift, Eight Megabytes And Constantly Swapping, EMACS Makes Any Computer Slow, Eventually Munches All Computer Storage, и др. Или пък предизвикателство за EMACS: задръж CTRL или ALT и си напиши името…

 



Добави коментар

Адресът на електронната поща няма да се публикува


*