Пролог
Как я уже говорил, идеального текстового редактора мне до сих пор не встретилось. Однако максимально приближенный к идеалу - да. Это Nedit, текстовый процессор для X Window. В числе его разработчиков - большой коллектив: Марк Эдел (Mark Edel), Джо Кирьякопулос (Joy Kyriakopulos), Кристофер Конрад (Christopher Conrad) и другие. Распространяется он свободно и бесплатно на условиях GPL.
Редактор Nedit реализован для всех Unix- и Unix-подобных систем, как коммерческих, так и свободных. Он доступен на http://www.nedit.org/ в виде исходных текстов и бинарных пакетов. Впрочем, пробиться на этот сайт, по крайней мере из России, нелегко. А потому лучше поискать NEdit в каких-нибудь коллекциях Linux-программ, например, на . Кроме того, его часто стандартно включают в состав дистрибутивов Linux (например, Caldera OpenLinux, Linux Mandrake).
Nedit базируется на библиотеке Motif, имеющей статус коммерческой. Однако для Linux он может быть скомпилирован с использованием свободного аналога этой библиотеки - OpenMotif. Кроме того, распространяемые в составе дистрибутивов бинарные пакеты (rpm и deb) компилируются статически, то есть без необходимости установки каких-либо специфических библиотек вообще.
По назначению Nedit - текстовый редактор для программистов. Однако реализация его такова, что, кроме этого, он может быть использован для множества целей - от элементарного набора текстов до разработки web-страниц и верстки оригинал-макетов в TeX.
В чем величие и мощь этого редактора? Во-первых, он позволяет осуществлять все действия по вводу и редактированию текстов, в том числе весьма сложные операции по поиску и замене фрагментов введенного текста.
Во-вторых, NEdit - редактор, в котором настройке поддается практически все от гарнитуры экранного шрифта, его цвета и цвета фона до контекстного меню, вызываемого, как обычно, правой клавишей мыши.
В третьих, для NEdit характерна практически неограниченная настраиваемость, осуществляемая путем подключения скриптов оболочки командной строки и макрокоманд, создаваемых на встроенном языке макросов.
Все эти особенности я и попытаюсь продемонстрировать ниже в этой саге.