Журнал "Открытые системы", #04, 1994 год // Издательство "Открытые Системы" (www.osp.ru)
Постоянный адрес статьи: http://www.osp.ru/os/1994/04/72.htm

Текстовые редакторы для ОС UNIX

А. Фомичев [email protected], Eagle Dynamics, Москва

17.04.1994


GNU Emacs 19.19
UniPress Emacs 2.20e
Siren Editor 1.0
Iris Х Editor 1.3.7
Nedit 3.1.1
TED 2.la
AUIS ez
VEDIT 2.30
Edit*2000 1.40
SlickEdit 2. 3
YUI 1.0 (бета-версия)
Эмуляторы
nu/TPU 3.0
REDT

Известно, что программисты достаточно легко меняют язык программирования или даже операционную систему, но чрезвычайно редко и весьма неохотно меняют любимый текстовый редактор. Этот факт можно объяснить тем, что для любого разработчика текстовый редактор является непосредственной средой обитания, где готовятся тексты программ и документация, откуда осуществляетея взаимодействие с различными компонентами операционной системы (файловой системой, интерпретатором команд, процессами и т. п.). Пользователь настраивает эту среду в соответствии со своими требованиями и вкусами, со временем у него вырабатыеетея определенный стиль работы с редакторе, многие действия доводятся до полного аетоматизма. Поэтому любая перемена означает изменение привычек, а это никогда не проходит безболезненно. Зачастую первоначальный выбор редактора обусловлен лишь отсутетвием в текущий момент какой-либо альтернативы. Цель данной статьи - сориентироеать всех, кто недавно перешел в ОС UNIX из более дружественных" операционных систем и стоит на перепутье в выборе подходящих программных средств. Здесь будет сделан обзор как коммерческих текстовых редакторов, так и редакторов, предлагаемых бесплатно, в той или иной степени ориентированных на разработку программ. Постараюсь показать, что при веей ограниченности выбора альтернативы vi вее же есть!

В последнюю пару лет в России (что, впрочем, соответствует и общемировым тенденциям) можно наблюдать все более возрастающий интерес к операционной системе UNIX со стороны государственных служб, финансовых и управляющих структур (министерств, департаментов, ассоциаций, инспекций и т. д.), а также коммерческих организаций (банков, акционерных обществ, бирж и прочих). Всеобщая компьютеризация, похоже, из показухи переросла в насущную потребность, без которой стало практически невозможно успешно вести какие-либо дела внутри страны, не говоря уже о выходе на международный рынок. Прошли те времена, когда предприятию достаточно было приобрести пару-другую компьютеров типа IBM РС-286 и установить на них несколько программ для расчета зарплаты, учета складской продукции и т. п., состряпанные за пару месяцев умельцами, использующими незабвенный Clipper, dBase, Clarion или другие "подручные" средства. Сегодня признаком хорошего тона является наличие в организации нескольких UNIX-машин, объединенных в сеть, с установленным лицензионным программным обеспечением, стоимость которого, к слову, сравнима со стоимостью самого вычислительного оборудования. Такое положение дел может только радовать.

Причины возрастания популярности ОС UNIX, на мой взгляд, следующие. Во-первых, характер требующих решения задач (автоматизация офиса, банковской деятельности или производства, управление коммуникациями) диктует необходимость использования многопользовательской, многозадачной, сетевой и открытой для наращивания операционной системы. Наиболее развитой и распространенной операционной системой такого класса, безусловно, является UNIX. Во-вторых, за последние годы значительно снизились цены как на вычислительное оборудование, так и на сами операционные системы UNIX, с одновременным возрастанием их возможностей и производительности. Ну и, в-третьих, это, вероятно, дань моде - "чем я хуже?".

Зачастую можно наблюдать ситуацию, когда переход на платформу UNIX наконец-то осуществлен, штат имеется, цели вроде бы ясны, а вот со средствами достижения этих целей туговато. Пользователь, будь то программист, администратор или оператор по набору текстов, работавший раньше в MS-DOS и имевший в своем распоряжении несколько текстовых редакторов и программных сред на выбор, ощущает дискомфорт при общении с "недружественным" UNIX'ом из-за отсутствия в последнем подобного выбора. Имеющиеся средства (как правило, это уже морально устаревший редактор vi или, в лучшем случае, Emacs) оставляют желать лучшего, будучи недружелюбными, сложными в освоении, и, как иногда кажется, нелогичными, лично я не могу понять, почему, например, команда "l" в vi означает "курсор вправо". Получается, что "нормально" работать в UNIX могут только хакеры, которым, в принципе, ничего кроме vi и не надо ("vi жил, vi жив, vi будет жить"), а также те, кто прошел курс обучения vi или Emacs или нашел в себе мужество перекопать документацию для того, чтобы выяснить, например, что сохранить файл в Emacs можно, нажав Ctrl+X Ctrl+W. Невольно возникает вопрос: не лучше ли потратить время на изучение языка 4GL или освоение электронной банковской системы, чем на изнурительное изучение Emacs или vi, чья "криптография" не только поражает, но и подавляет!? Справедливости ради заметим, что в свое время Emacs сыграл свою роль мощного средства разработки, да и сейчас пользуется популярностью у большого числа программистов - поэтому не будем его категорично отвергать. Да и у нелюбимого мною (которому, кстати, исполнилось уже 16 лет) есть, по крайней мере, одно достоинство - он присутствует, наверное, в любой реализации UNIX и иногда оказывается единственным доступным средством.

Ну, а теперь перейдем от лирики к прагматике. На вопрос "Можно ли найти под UNIX'ом что-нибудь приличное в классе текстовых редакторов общего назначения?" я с полной ответственностью отвечаю: "Да, можно!". Сделаю оговорку: термином "текстовый редактор" я обозначаю программный продукт, ориентированный на подготовку текстов (писем, отчетов, исходных кодов программ) и работающий с файлами в стандартноформате ASCII, без вставки каких-либо специальных символов. В данной статье я сознательно не буду упоминать так называемые "текстовые процессоры" типа WordPerfect и "настольные издательские системы" типа FrameMaker, поскольку продукты этих категорий, во-первых, решают несколько другие задачи, а, во-вторых, значительно дороже текстовых редакторов. Кроме того, по скромному мнению автора, лучше и дешевле Макинтошей или персональных компьютеров IBM РС, оснащенных системой MS Windows, для настольных издательских целей еще ничего не придумано. Так зачем же стучаться в открытую дверь?!

Итак, все текстовые редакторы для UNIX можно условно разделить на три категории:

- редакторы, разработанные специально под ОС UNIX; редакторы, перенесенные в UNIX из других платформ;

- эмуляторы "родных" редакторов из других операционных систем.

При этом часть редакторов распространяется в исполняемом виде или в исходных кодах как продукт категории "public domain", то есть бесплатно. Преимущества использования продуктов "public domain" очевидны: экономия денег, возможность адаптации под свои требования. Но налицо и недостатки: практическое отсутствие печатной документации, какой-либо поддержки со стороны производителя, затрата человеческих ресурсов на адаптацию и сопровождение. Из данной статьи Вы узнаете, где можно приобрести как коммерческие текстовые редакторы, так и распространяемые свободно.

GNU Emacs 19.19

Говоря о текстовых редакторах, разработанных специально под UNIX, в первую очередь упомянем Emacs, который распространяется бесплатно в рамках проекта GNU. Некоторые компании распространяют его на коммерческой основе, исправив имеющиеся ошибки и адаптировав под конкретные платформы с некоторыми улучшениями возможностей "родного" Emacs. Таковым, например, является GNU Emacs 19.19 фирмы Ready-to-Run Software, который распространяется в составе пакета утилит обработки текста. Безусловно, данный редактор предназначен для квалифицированных программистов, обладая мощными средствами разработки программ. Однако GNU Emacs требует основательного изучения; для расширения его возможностей приходится программировать на языке LISP, что не очень нравится даже квалифицированным программистам, а уж обыкновенным пользователям - тем более. Для поклонников Emacs могу сообщить, что исходные тексты версии 19.28 появились на prep.ai.mit.edu: в каталоге pub/gnu.

UniPress Emacs 2.20e

Немногим отличается от собрата UniPress Emacs 2.20e, выпущенный компанией UniPress Software. В отличие от GNU Emacs данный редактор поставляется с документацией (хотя и неудачно написанной), обладает более привлекательным интерфейсом, имеет поставляемые за дополнительную плату (от 695 до 995 долларов) языко-ориентированные реализации для С, С++, Fortran и Ada. В целом, различия между GNU Emacs и UniPress Emacs незначительны. Если Вы являетесь поклонником Emacs, то, несомненно, будете удовлетворены обеими реализациями.

Siren Editor 1.0

Siren Editor разработан компанией Siren Software, целиком основан на интерфейсе X/Motif и является интуитивным и легким в использовании. Все команды располагаются в выпадающих меню, хорошо продумана компоновка экрана и работа с мышью. Инсталляция и запуск редактора под силу даже неквалифицированному пользователю. Недостатком редактора Siren является то, что в нем отсутствует какая-либо поддержка процесса программирования, а также базовые средства форматирования текста. Поэтому Siren Editor может быть полезен, главным образом, при первичном наборе и минимальном редактировании текстов. По своей функциональности этот редактор чем-то напоминает NortonEdit из MS-DOS, который очень удобен, когда в текст надо быстро внести пару-другую изменений.

Iris Х Editor 1.3.7

Редактор Iris Х Editor (разработка Iris Computing Laboratory) предназначен для программистов и имеет собственный интерфейс под Х Window. При запуске Вы увидите чистый экран - ни меню, ни строки статуса - т.е. все нацелено на то, чтобы отобразить на экране как можно больше исходного кода программы. Информация всегда появляется во всплывающих окнах, что поначалу немного раздражает, но потом привыкаешь. Для работы с блоками текста предусмотрено четыре буфера временного хранения (clipboard). Вставку текста из такого буфера можно произвести одним нажатием кнопки мыши, что очень удобно. Недостатком редактора является полное отсутствие базовых средств форматирования.

Nedit 3.1.1

Этот редактор разработан в Национальной Лаборатории Ферми, распространяется свободно в исходных текстах, имеет стопроцентный графический пользовательский интерфейс под Motif и рассчитан прежде всего на программистов и случайных пользователей. Nedit чрезвычайно прост в установке, изучении и использовании, обладает исчерпывающей Help-системой. И в то же время в нем отсутствует много возможностей, которые являются стандартом для профессиональных текстовых редакторов (макро, прямоугольные блоки, базовые средства форматирования). Nedit имеет реализации практически для любых рабочих станций с UNIX (SGI, Sun, HP, DEC, IBM), а также для VAX/VMS. Перенос на другие платформы с X/Motif не вызывает никаких проблем.

TED 2.la

Редактор TED разработан английской фирмой Eagle Dynamics, имеющей представительство в Москве, и на сегодняшний день является единственным полностью русифицированным профессиональным текстовым редактором для UNIX, распространяемым в России. Редактор работает как на текстовых терминалах, так и под Х Windows, при этом CUA-интерфейс делает его похожим на редактор MultiEdit для MS-DOS или среду разработки Borland IDE. Это единственный из всех редакторов, у которого имеется документация на русском языке (два тома). TED ориентирован как на профессиональных разработчиков, так и на неподготовленных пользователей, может быть легко перенастроен в соответствии с индивидуальными вкусами. Редактор распространяется практически на любых платформах UNIX. Единственным, но несущественным, по мнению автора, недостатком редактора является отсутствие развитого макроязыка, что, впрочем, компенсируется возможностью создания командных и клавишных макро.

AUIS ez

В рамках распространяемого бесплатно в исходных текстах для Х11 многофункционального проекта AUIS (The Andrew User Interface System), разработанного Консорциумом Эндрю (Andrew Consortium), имеется текстовый редактор ez с модулями поддержки языков программирования С, С++, Modula-2, и PL/MI. Этот редактор будет интересен разработчикам программного обеспечения благодаря наличию средств цветового и шрифтового выделения синтаксиса, перехвата ошибок компиляции, встроенного набора стандартных языковых конструкций. Средства обработки текстов минимальные, но достаточные для подготовки простых документов. Исходные тексты имеются для большого числа платформ.

Редакторы, перенесенные в ОС UNIX из других операционных систем, в общем случае предназначены для разработчиков, использующих в своей деятельности более одной платформы и желающих всюду иметь один и тот же редактор. Как правило, портированные в ОС UNIX редакторы проигрывают тем редакторам, которые изначально разрабатывались для этой операционной системы с учетом ее специфики. Поэтому рекомендовать текстовые редакторы данного класса для использования в ОС UNIX разумно только пользователям, знакомым с аналогами этих редакторов в других операционных системах.

VEDIT 2.30

Редакторы семейства VEDIT разработаны фирмой Greenview Data и предназначены для использования в текстовом режиме под управлением различных операционных систем на платформе Intel (MS-DOS, QNX, XENIX, UNIX 286/386, FlexOS). Редактор целиком написан на ассемблере, что ограничивает его переносимость на другие аппаратные платформы, а также исключает возможность использования в рамках системы Х Window. Интерфейс VEDIT вполне современный (CUA-подобные меню, окна, интенсивное использование цвета, напоминает Borland IDE), функциональная раскладка клавиатуры достаточно интуитивна, возможна эмуляция некоторых известных редакторов и текстовых процессоров. VEDIT может редактировать любые файлы (в том числе двоичные, размером до 2 ГБайт), имеет удобный режим шестнадцатеричного редактирования. Отдельные реализации редактора включают макроязык, который, однако, чрезмерно мнемоничен, что затрудняет написание и понимание программ. Так, например, команда удаления текущей строки выглядит как "0КК". В общем, по своим возможностям VEDIT похож на ранее упомянутый редактор TED, однако поддержка процесса программирования и интерфейс с операционной системой здесь явно слабее. К тому же редактор, не русифицирован.

Edit*2000 1.40

Компания Computer Innovations известна переносом собственных компиляторов для языков С и С++, а также средств разработки на различные платформы (MS-DOS, UnixWare, LynxOS, QNX и др.). Разработанный компанией редактор Edit*2000 поставляется с хорошей документацией, достаточно легок в освоении и использовании, хотя имеет менее продуманный интерфейс, чем, скажем, Siren Editor. Назначение функциональных клавиш произведено на интуитивном уровне. В целом редактор может быть эффективно использован для проектов среднего уровня. В числе недостатков Edit*2000 отсутствие макроязыка, некоторых базовых средств форматирования текста й программной поддержки (тэги, языковые шаблоны).

SlickEdit 2. 3

Редактор SlickEdit фирмы MicroEdge известен как "быстрый" редактор для разработчиков под MS-DOS. Однако его реализация под UNIX с точки зрения скорости и интерфейса оставляет желать лучшего. Более того, на некоторых из заявленных платформ редактор функционирует неустойчиво. Представляет интерес поддержка редктором таких языков программирования, как С, С++, Pascal, COBOL, dBase, Modula-3, Assembler. Макроязык имеет синтаксис, схожий с языком REXX, использующимся на мейнфреймах IBM и в OS/2. Рекомендовать SlickEdit можно лишь тем, кто имел с ним дело на других платформах.

YUI 1.0 (бета-версия)

Разработанный Инженерно-Технической Компанией в Ижевске текстовый редактор YUI распространяется в исполняемом виде как freeware и находится в стадии бета-тестирования. Заявлено, что бета-версии редактора имеются для платформ MS-DOS, BSD, Solaris, INTERACTIVE и Linux. Интерфейс реализован в стиле Turbo Vision, поэтому YUI внешне очень напоминает Borland С++ З.х. Однако назвать этот продукт редактором для разработчиков нельзя: в нем отсутствует какая-либо поддержка процесса программирования, да и базовые средства форматирования представлены не в полной мере. Продукт достаточно сырой и, по моему мнению, пока может представлять чисто академический интерес. Поэтому маловероятно, что YUI в ближайшее время привлечет внимание разработчиков и квалифицированных пользователей.

Эмуляторы

Эмуляторы редакторов из других операционных систем (как правило, с мэйнфреймов и суперминикомпьютеров) представляют интерес только для экс-программистов тех систем, которые перешли под UNIX и не желают привыкать к какому-либо другому текстовому редактору. Зачастую оказывается, что такой редактор уже морально устарел: новые редакторы используют новые технологии обработки текстов. Поэтому рекомендовать редактор-эмулятор новичку можно лишь с оглядкой на vi.

nu/TPU 3.0

Редактор nu/TPU компании a/Soft Development эмулирует известный редактор EVE, использующийся в операционной системе VAX/VMS. Программная поддержка в данном редакторе явно недостаточна для современных технологий разработки программ (отсутствует поиск ошибок компиляции, работа с тегами). Есть определенные проблемы с установкой nu/TPU (файлы описания клавиатуры имеют ошибки, инструкции по инсталляции иногда непонятны и даже неправильны), В то же время, руководство по использованию редактора написано в хорошем стиле. В целом, редактор может удовлетворить только бывших программистов VAX/VMS.

REDT

Редактор REDT разработан в Государственном Университете Вашингтона, базируется на библиотеке curses и следует модели редактирования, принятой в EDT - известном редакторе из VAX/VMS. Однако чистым эмулятором EDT этот редактор назвать нельзя: средства обработки текста в REDT выполнены в стиле редакторов для MS-DOS (выделение в прямоугольник, курсор может выходить за конец строки, наличие строки статуса). Раскладка функциональной клавиатуры может быть полностью изменена. REDT по достоинству оценят прежние пользователи редакторов EVE, EDT и SEDT.

Можно упомянуть еще такие эмуляторы редактора VMS/EDT, как OpenEDT от фирмы Acceler8 Technology и EDT+ от Boston Business Computing, а также SPF/UX (эмулятор редактора ISPF компании IBM), разработанный фирмой Uneclipse Software Systems.

Как видите, выбор текстовых редакторов все-таки имеется, и с операционной системой UNIX можно "дружить". Надеюсь, что теперь, располагая приведенной в данной статье информацией, в ответ на ненавязчивое предложение освоить vi Вы не станете делать круглые глаза, а скажете: "Спасибо, друг, но я не увлекаюсь криптографией - у меня есть кое-что получше."

Название, версия
Производитель
Платформы
Цена
Где взять
Примечание
GNU Emacs 19.19
Ready-to-Run Software (USA, Groton)
HR-UX, OSF/1Su
$175 - 1 польз. $775 - 10 польз. $695 - модуль поддержки С, С++
т.(1-508) 448-39-59
GNU Emacs 19.22 в текстах есть на AIX ftp.demos.su в каталоге /unix/gnu
UniPress Emacs 2.20e
UniPress Software Inc. (USA, Edison)
AIX, HP-UX, IRIX, Solaris и др.
$395 - 1 польз. 995 - 10 польз.
т.(1-908) 287-21-00
-
Siren Editor 1.0
Siren Software Corp. (USA, Menlo Park)
AIX, HP-UX, IRIX, SCO, SunOS
$249 - 1 польз. $1795 - 10 польз.
т.(1-415) 322-06-00
-
Iris X Editor 1.3.7
Iris Computing Labs (USA, Santa Fe)
AIX, HP-UX, IRIX, Solaris, SunOS
$295 - 1 польз. $2212 - 10 польз.
тел. в Москве: (095) 168-88-23
Имеются две демо-версии для SCO и HP-UX на ftp.demos.su в каталоге /demo/ted
TED 2.1a
Eagle Dynamics Ltd. (Россия, Москва)
SCO, Xenix, ISC, SVR4, BSD, Coherent, HP-UX, Solaris, AIX, Topix, Dynix, SINIX, Bestix, ICL DRS.NX и др.
от $287 на любое количество польз.
[email protected]
-
Nedit 3.1.1
Fermi National Accelerator Lab (USA, Batavia)
AIX, Ultrix, OSF/1, SCO
бесплатно
-
на ftp.demos.su в каталоге /unix/X11. Только под X/Motif, в исходных текстах
AUIS ez
Andrew Consortium (USA, Pitsburg)
AIX, Solaris, SunOS, HP-UX, SCO, Ultrix, Linux, VAX/BSD, IRIX
бесплатно
-
на ftp/andrew/cmu/edu в каталоге /pub/AUIS. Только под X11, в исходных текстах
YUI 1.0
ИТК (Россия, Ижевск)
Linux, ISC, SunOS, BSD, DOS
бесплатно
-
на почтовом сервере mailserv@izhmark/udmurtia.su в каталоге /unix/edit/yui. Бета версия, в исполняемом виде.
VEDIT 2.30
Greenview Data Inc. (USA, Ann Arbor)
SCO, Xenix, DOS
$350 - 5 польз.
тел. в Москве: (095) 158-95-20
Только для тестовых терминалов
Edit*2000 1.40
Computer Innovations (USA, Shrewbury)
SCO, Solaris, SVR4 и др.
$395 - 1 польз. $2495 - 10 польз.
т.(1-908) 542-59-20
-
SlickEdit 2.3
MicroEdge Inc. (USA, Raleigh)
AIX, HP-UX, IRIX, SCO, Solaris, SunOS, SVR4 и др.
$425 - 1 польз. $2950 - 10 польз.
т.(1-919) 790-16-91
-
REDT 2.3.2
Washington State Univ. (USA, Pullman)
AIX, IRIX, USL, SunOS, HP-UX, Ultrix
???
т.(1-509) 335-11-00
-
nu/TPU 3.0
a/Soft Development Inc. (USA, Bedford)
AIX, HP-UX, Solaris, SunOS, IRIX, OSF/1 и др.
$499 - 2 польз. $1500 - 8 польз.
т.(1-603) 666-66-99
Эмулятор редактора EVE из VAX/VMS

Таблица 1.
Общая информация о редакторах.

Название, версия
GNU Emacs 19.19
UniPress Emacs 2.20e
Siren Editor 1.0
Iris X Editor 1.3.7
TED 2.1a
VEDIT 2.30
Nedit 3.1.1
Edit*2000 1.40
SlickEdit 2.3
nu/TPU 3.0
Ограничение
Макс. длина строки
O/C
O/C
O/C
O/C
O/C
O/C
O/C
O/C
25
O/C
Макс. размер файла
O/C
O/C
O/C
O/C
O/C
O/C
O/C
O/C
1 GB
O/C
Макс. число открытых файлов
O/C
O/C
O/C
O/C
O/C
37
O/C
O/C
О/С
O/C
Возможности редактирования
Поддержка мыши
под XWS
+
+
+
+
+
+
-
-
+
Автосдвиг
+
+
+
+
+
+
+
+
+
-
Прямоугольные блоки
+
+
+
+
+
+
-
+
+
+
Замена табуляции пробелам
+
+
-
+
+
+
+
+
+
+
Нерегулярные табуляции
+
+
-
-
+
-
-
+
+
Перемещение курсора за EOL
-
-
+
-
+
+
-
+
+
+
Перестраиваемая клавиатура
+
+
+
+
+
+
+
+
+
+
Эмуляция клавиатур
vi, EDT
EDT
-
-
-
WordStar, Wperfect, brief
-
-
emacs, brief
EDT, Wperfect
Редактирование DOS-файлов
+
+
+
+
+
+
-
+
+
-
Редактирование двоичных файлов
+
+
-
-
+
+
-
+
+
-
Редактирование МАС файлов
-
+
+
-
+
-
-
+
+
-
Макроязык
+
+
-
+
-
+
-
-
+
+
Макротладчик
+
-
-
-
-
+
-
-
-
-
Поддержка программирования
Шаблоны языковых конструкций
+
+
-
-
+
-
-
-
+
+
Компилирование из редактора
+
+
-
+
+
+
+
+
+
+
Поиск ошибок компиляции
+
+
-
+
+
+
+
+
+
-
Цветовое выделение синтаксиса
+
-
-
-
-
-
-
-
-
-
Проверка парности скобок
+
+
-
+
+
+
+
+
+
+
Тэги
+
+
-
+
+
-
+
-
+
-
Обработка текста
Перенос слов (word wrap)
+
+
-
-
+
+
+
+
+
+
Выравнивание по левой границе
+
+
-
+
+
+
+
+
+
+
Выравнивание по правой границе
-
+
-
-
+
+
-
-
-
+
Полное выравнивание
-
+
-
-
+
+
-
-
+
+
Центрирование
-
+
-
-
+
-
-
-
-
+
Проверка правописания
+
+
-
-
+
+
-
-
-
-
Примечание. О/С - "определяется информационной системой"

Таблица 2.
Сравнительная характеристика возможностей редакторов.


Журнал "Открытые системы", #04, 1994 год // Издательство "Открытые Системы" (www.osp.ru)
Постоянный адрес статьи: http://www.osp.ru/os/1994/04/72.htm