Emacs для начинающих

       

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


А. Фомичев andy@eagle.msk.su, Eagle Dynamics, Москва

17.04.1994

Известно, что программисты достаточно легко меняют язык программирования или даже операционную систему, но чрезвычайно редко и весьма неохотно меняют любимый текстовый редактор. Этот факт можно объяснить тем, что для любого разработчика текстовый редактор является непосредственной средой обитания, где готовятся тексты программ и документация, откуда осуществляетея взаимодействие с различными компонентами операционной системы (файловой системой, интерпретатором команд, процессами и т. п.). Пользователь настраивает эту среду в соответствии со своими требованиями и вкусами, со временем у него вырабатыеетея определенный стиль работы с редакторе, многие действия доводятся до полного аетоматизма. Поэтому любая перемена означает изменение привычек, а это никогда не проходит безболезненно. Зачастую первоначальный выбор редактора обусловлен лишь отсутетвием в текущий момент какой-либо альтернативы. Цель данной статьи - сориентироеать всех, кто недавно перешел в ОС 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" очевидны: экономия денег, возможность адаптации под свои требования. Но налицо и недостатки: практическое отсутствие печатной документации, какой-либо поддержки со стороны производителя, затрата человеческих ресурсов на адаптацию и сопровождение. Из данной статьи Вы узнаете, где можно приобрести как коммерческие текстовые редакторы, так и распространяемые свободно.


Содержание раздела