|
многопользовательских
систем появилась возможность посадить оператора за
подключенный к машине телетайп. Для удобства операторов (часто ими оказывались
сами программисты) разрабатывались программы редактирования
текстов (или, попросту, текстовые редакторы), как правило,
выводившие текст построчно и ожидавшие клавиатурной команды (зачастую
на особом изощренном языке), сообщающей, следует ли оставить
строку неизменной, либо внести в нее какие-то изменения.
Следующий
шаг был сделан, когда телетайп в качестве
терминального устройства сменил дисплей с ЭЛТ. Это превратило
текст перед глазами оператора в динамический и позволило совершить
революцию, внедрив нак называемые "полноэкранные" (или
просто "экранные") редакторы, взаимодействуя с которыми,
оператор получил возможность, хотя и манипулируя клавиатурой,
применять технику, скорее похожую на приемы работы с листом
бумаги писателя, возвращающегося к ранее написанному, стирающего
и исправляющего текст нелинейно (представители некоторых школ
в информатике до сих пор считают, что это негативно повлияло на стиль
программирования).
2.3
Vi и Emacs
Интересно,
что два, по-видимому, первых экранных редактора,
созданных в начале семидесятых, и явились родоначальниками "семейств"
таких программ, до сих пор наиболее популярных в
профессиональной среде. Это vi Билла Джоя (тогда аспиранта Университета
Калифорнии в Беркли, а затем основателя Sun Microsystems)
и Emacs Ричарда Столлмена (тогда сотрудника Лаборатории искусственного
интеллекта Массачуссетского технологического института,
а ныне -- президента Фонда свободного программного обеспечения
и лидера проекта GNU). Оба они, по сути, происходят от экранных
режимов работы популярных тогда редакторов ed и TECO, соответственно.
Первый
ныне стандартизован и, в той или иной реализации
(наиболее популярна, видимо, vim Брама Мооленаара) доступен
в составе любой стандартной операционной системы (в том числе,
свободных). Второй под названием GNU Emacs поддерживается Фондом
свободного ПО (www.fsf.org) и выдержал с тех пор более двадцати
изданий (релизов).
Исходная
идеология и эргономическая модель этих двух
выдающихся разработок серьезно различается, что служит поводом для
шутливой "священной войны" между их приверженцами. Vi(m)
относится к так называемым "многорежимным" редакторам.
В режиме редактирования оператор вводит и исправляет текст.
Перемещение по тексту, контекстный поиск и замена, более сложные
операции выполняются в командном режиме. Между этими режимами (а
также, унаследованным от ed и редко применяющимся режимом построчного
редактирования) нужно явное переключение нажатием |