Редактор yui

Yui - это многооконный консольный текстовый редактор, предназначавшийся в основном для программистов и системных администраторов. Его основные возможности:
Скачать версию редактора 3.2.04
Скачать версию редактора 3.2.04 с сайта pochta.ru
Скачать версию редактора 3.2.04 с сайта myooo.ru
Список изменений по сравнению с предыдущей версией


Окно редактирования текста
Список внутренних окон редактора
Окно справки, просмотра man и info-страниц
Выпадающее меню
Изначально редактор yui (читается "юй" - причина возникновения этого названия была описана мне автором оригинальной версии еще 24 апреля 1998 г. и я с тех пор менять название не собираюсь - в память о людях, которые смогли сделать такой замечательный редактор) разрабатывался видимо как средство для отладки некоторой оконной среды. Иначе как обьяснить присутствие там различных мелких тестовых программ? Разрабатывался он в "Инженерно-Технической Компании", на сайте которой он доступен и поныне. Вот только ftp-сервер, где должны лежать файлы, по-моему в дауне. По крайней мере, мне не удалось к нему подключиться.

Знакомство мое с yui началось в далеком-далеком нынче 1998 году, когда я работал программистом над проектом TechNet. Для работы использовалась система BSD/OS BSDi (да, представляете себе, была коммерческия версия BSD! Давно она уже покоится в обозе, но ведь была!) Для работы в ней мне нужен был редактор - несложный, но с экранным меню, дабы не приходилось растопыривать пальцы, как при работе в Emacs. Где я набрел на yui на немыслимых просторах инета - сейчас уже не вспомнить. Он меня покорил сразу и навсегда, в особенности тем, что имел возможность установки контрольных точек gdb непосредственно из текстового окна. Когда работаешь из консоли, рад даже ничтожной автоматизации. К тому же еще были живы у меня воспоминания о редакторе (уже не помню его названия), в котором я до этого работал в SCO Unix...

Птом был переход на FreeBSD и yui, удобство которого я уже успел оценить, переехал вместе со мной. К этому времени я уже набрел на некоторые его баги и накопил достаточно пожеланий, чтобы связаться с разработчиками. Их было двое, но общался я все время (с апреля 1998 по ноябрь 2001) с одним - Сергеем Розенфельдом. Я ему отсылал информацию об обнаруженных ошибках и предложения по усовершенствованию, он их вносил (или же отвергал). 1 ноября 2001 года переписка совершенно неожиданно оборвалась и с тех пор все... Я помнится написал еще пару раз на оба известных мне адреса, но не получил ни ответа ни привета. Зато через некоторое время обнаружил на FTP-сервере ИТК исходники yui. Они были тут же скачаны и проанализированы. Глубоко вздаваться в них у меня все время нет времени :-D но мелкие баги правятся благодаря усилиям сообщества. Так, например в апреле 2003 года я получил набор патчей для того, чтобы yui собирался на FreeBSD от Александра Лунева. Прошло уже пять лет, но я по прежнему ему благодарен :-)

В марте 2006 года я решил-таки создать порт для yui, тем более, что спрашивать больше никого не было надо. Пришлось немножко потрудиться, чтобы привести yui к autotools-механике сборки, а также удалить оттуда все "лишнее" - я не собирался поддерживать все мыслимые виды UNIX. Певрая версия "yui NG (Next Generation)" была просто autotools-версией редактора 3.1.15 и имела номер 3.2.0. В дальнейнем несколько раз вносились небольшие изменения, пока проект не дорос до своего текущего состояния. Недавно я получил еще один патч, на этот раз от Алексея Русанова, который исправляет невозможность сборки yui под 64-битных платформах.

Yui - это идеальный редактор для программиста, особенно для программиста со стажем, помнящего еще Multi-Edit :-) Собственно, некоторые фичи были подсказаны именно Multi-Edit-ом. До меня редактор не имел даже подсветки синтаксиса и Розенфельд, помнится очень удивился, когда я попросил его сделать подсветку, спросив "А что это такое?" :-D Какой еще редактор может загрузить два десятка файлов при запуске или выполнить вставку большого прямоугольного блока во всех загруженных файлах? В каком редакторе можно запустить еще одну копию mc или параллельно работе читать документацию? Править документы в кодировке Windows или DOS (CP866)? А автоматическое следование курсора за последним обнаруженным абзацным отступом? А возможность редактировать немыслимо длинные (сотни и тысячи знаков) строки - вещь, на которой запросто падают многие редакторы? Я уже не говорю об удалении "лишних" концевых пробелов, о преобразовании пробелов в табуляцию и наоборот, о произвольной раскраске рабочего поля... Я уже настолько к нему привык, что ставлю его первым делом на новую машину.

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

Для всех ревнителей авториских прав замечу - я вовсе не умаляю заслуг ИТК вообще и Сергея Розенфельда в частности и присваивать себе столь замечательное творение не собираюсь (то есть заявлять о том, что оно разработано мной :-D ). Но в настоящий момент исходники выложены в открытый доступ и находятся там уже с 2002 года. Сергей же, как утверждает Google, сейчас трудится в должности директора технического департамента удмуртской "НИПИНефть". По крайней мере, его фамилию там можно найти.
Я распространяю программу, которая собрана на основе данных исходников, точно также как я распространяю пакет OpenOffice.org, за исключением того, что вношу по мере сил исправления, а также исправления, которые присылает мне сообщество. Желающие всегда могут скачать последнюю версию редактора от ИТК здесь.

А вот здесь приводится список изменений по сравнению с предыдущей версией. Пусть он чрезваычайно скромный - я все же не веду активную разработку, а только так...

Список изменений по сравлению с предыдущей версией


Еще увидимся...
Искренне Ваш,
Master UNIX administrator