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

       

Наследие Emacs


Однако уже первое знакомство с TeXmacs убеждает в самостоятельном характере этой программы, который подчеркивается ее оригинальным (и весьма приятным) графическим интерфейсом. Более того, признаки влияния Emacs в ней отнюдь не бросается в глаза, если не считать заимствованной из этого редактора системы и некоторых рудиментов концепции буферов. То и другое, скажем так, терпимо, хотя и не представляется особенно полезным. Ведь потребность в визуальных редакторах обычно возникает у недавних Windows-мигрантов, а не у людей, досконально освоивших Emacs со всеми его клавиатурными комбинациями. Ну а список буферов в TeXmacs всё равно ограничивается окнами открытых документов, так что заимствованный из Emacs пункт меню можно было бы с успехом переименовать в и переместить из начала строки меню куда-нибудь поближе к ее концу.

Правда, есть у TeXmacs и еще одна черта, роднящая его не только с Emacs, но и с консольными редакторами вообще. В программе практически полностью отсутствуют диалоговые окна, так что в тех случаях, когда вызванная тем или иным способом команда требует задания каких-либо параметров, общение с пользователем происходит через строку состояния. Что, конечно, не очень удобно. Например, если пользователь выберет в меню команду , ему придется последовательно отвечать на вопросы о величине каждого из четырех полей, не забывая присовокуплять к введенной цифре название единицы измерения (например, cm, mm или in). Впрочем, похоже, что это не концептуальная особенность программы, а просто следствие нежелания автора пользоваться общераспространенными графическими библиотеками, типа gtk или motif.

Однако родство с Emacs станет по-настоящему очевидным, когда у нас возникнет желание заняться настройкой программы. Как выясняется, никаких интерактивных средств на сей случай не предусмотрено. Правда, в строке меню имеется пункт под названием , но он, во-первых, весьма беден по содержанию, и, во-вторых, установленные в нем параметры (можно, например, поменять язык интерфейса программы) действуют только на текущий сеанс. Что же, залезаем в программный каталог TeXmacs в надежде найти что-нибудь вроде конфигурационного файла (отметим, что имя этого каталога хранится в переменной $TEXMACS_PATH и соответствует /usr/share/TeXmacs, если программа устанавливалась из бинарного пакета; в противном случае придется поискать где-то в районе /usr/local/lib). На первый взгляд - абсолютно ничего. Так можно провести некоторое время в недоумении, пока не сообразишь присмотреться к каталогу $TEXMACS_PATH/progs, в котором обнаруживается целый куст инициализационных сценариев. Эти файлы имеют специфическое расширение .scm, но написаны они, по существу, на диалекте макроязыка Emacs lisp.


Правда, разобраться в содержимом папки progs будет несколько легче, чем в аналогичном хозяйстве для Emacs. Всё-таки сценариев в данном случае не так уж много, и они хорошо систематизированы. Кроме того, в TeXmacs нет ничего похожего на компилированные файлы .elc, назначение которых бывает затруднительно определить, если под рукой нет исходников. С другой стороны, расплатой за читабельность кода является довольно продолжительное время, уходящее на его обработку в процессе загрузки программы. Но так или иначе, а было бы недурно отыскать хоть какие-нибудь указания на методику обращения с этими файлами в документации к программе. Увы, автор программы, по-видимому, не предполагал, что потребность в информации такого рода может возникнуть у рядовых пользователей. Иначе чем объяснить то обстоятельство, что редактировать нам придется именно те файлы, которые находятся в программном каталоге TeXmacs? Ведь ничего похожего на файл ~/.emacs, который бы специально предназначался для задания пользовательских настроек, здесь не обнаруживается.


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