Введение
Грядущий выход GNU Emacs 22.1, готовит своим пользователям много приятных сюрпризов: новые
и обновленные пакеты в составе дистрибутива, улучшенная поддержка разных языков, новый
вид, обновленную и расширенную документацию, и другие расширения направленные на улучшение
работы.
В целом все улучшения и изменения можно разделить на несколько частей, которые
представлены ниже в виде соответствующих разделов. Данная статья написана на основе
списка рассылки разработчиков GNU Emacs, а также документа NEWS
, который идет в составе
дистрибутива и который более подробно описывает все изменения. Целью написания данной
статьи была задача дать представление о новых возможностях GNU Emacs.
Изменения видимые для пользователя
Поддержка новой системы виджетов на основе GTK+ 2.x
Теперь GNU Emacs можно собрать с поддержкой набора виджетов на основе GTK+ версий серии
2.x, что позволяет интегрировать Emacs в современные оконные системы и среды. Кроме этого,
это позволит уменьшить объем потребляемых ресурсов для тех пользователей, которые
интенсивно используют приложения на базе GTK+.
Правда пока в новых версиях нет поддержки сглаживания шрифтов при редактировании текста
(есть нестабильная ветка разработки в которой эта возможность реализована).
Улучшенная поддержка языков
В новой версии улучшена поддержка языков за счет использования mule-unicode в качестве
внутренней кодировки, а также внесены улучшения в работу с кодировками utf-8/utf-16, и
поддержку Unicode (iso-10646-1) шрифтов, которые могут использоваться для отображения
символов из любого диапазона символов. Сделана базовая поддержка для преобразования
символов относительно стандартных таблиц Unicode. Для русского и греческого языков можно
делать преобразование либо в Unicode, либо в iso-8859-x кодировки.
Кроме этого, значительно улучшена подсистема печати, позволяя печатать данные на разных
языках и т.п.
Leim теперь является частью дистрибутива GNU Emacs и его не нужно качать отдельно.
Добавлено много языковых сред, при этом их установка может производиться автоматически на
основании информации из locale.
Добавлены новые методы ввода, в том числе для русского языка добавлена поддержка
windows-подобной раскладки клавиатуры.
Поддержка различных платформ
Новая версия GNU Emacs теперь имеет поддержку MacOS X, Cygwin, FreeBSD/Alpha, Linux на IBM
S390 и на X86-64.
Кроме этого, значительно улучшена поддержка Emacs на Microsoft Windows, включая поддержку
изображений, звука и всплывающих подсказок (tooltips).
Реализована поддержка drag'n'drop в X Window System, можно открыть файл, вставить текст в
буфер, в dired перетаскивание файла копирует или перемещает файл в данный каталог.
В X Window System по умолчанию включена поддержка Mouse Wheel. Улучшена поддержка работы
с X selection, и пользователь может указывать какие типы данных можно получать из буфера
обмена.
Улучшена поддержка работы с разными типами терминалов, включая поддержку цветных
терминалов.
Новая документация
Начиная с новой версии, в состав GNU Emacs включается новая документация — Introduction
to Emacs Lisp и Emacs Lisp Manual, которые раньше поставлялись отдельно. Кроме этого, в
состав стандартной документации включены новые переводы TUTORIAL и Emacs Reference Card (в
том числе и переводы на русский язык).
Прочие улучшения
Увеличены размеры буферов и целых чисел. Размер буфера теперь может достигать 256M.
файлы инициализации могут располагаться либо в домашнем каталоге пользователя, либо в
каталоге ~/.emacs.d
Перед сохранением файла с помощью C-x s, пользователь может просмотреть список изменений
между буфером и оригинальным файлом.
Большое количество изменений в Emacs Lisp, включая новые пакеты, улучшения в работе с
сетью и процессами и т.п.
Новые пакеты в составе GNU Emacs
В новой версии GNU Emacs в состав дистрибутива включены новые пакеты. Ниже приведен
краткий список этих пакетов и небольшие их описания, хотя может быть что-то новое и
ускользнуло от моего взгляда.
- tramp
- пакет для доступа к файлам на удаленных машинах с использованием разных методов
доступа —
ssh
, su
, scp
и других. Является более безопасной заменой ange-ftp.
- url
- предоставляет унифицированный интерфейс для доступа к интернет ресурсам,
используется в различных пакетах для доступа ftp, www и другим ресурсам.
- ses
- электронная таблица написанная на Emacs Lisp, очень удобная при работе с
небольшими объемами данных.
- visible-mode
- переключает показ невидимого текста в буфере.
- calc
- обеспечивает поддержку расширенного калькулятора и набора математических утилит.
- cua
- предоставляет пользователю возможность использования привязок клавиш
соответствующих стандарту CUA.
- kmacro
- упрощенный интерфейс к работе с клавиатурными макросами.
- ibuffer
- сильно улучшенная замена buff-menu.
- printing
- предоставляет возможности предварительного просмотра выводимых на принтер
данных, прогона данных через ghostscript для не postscript принтеров или отправки этих
данных прямо на принтер.
- table
- пакет для интерактивной работы с таблицами в тексте, позволяет интерактивное
добавление/изменение количества строк и столбцов, а также изменение ширины ячеек
таблиц. Умеет генерировать созданную таблицу в форматах TeX и HTML.
- multi-occur
- аналог occur для множества буферов или файлов, подпадающих под заданное
регулярное выражение.
- wdired
- расширение к dired для поддержки нормальных команд редактирования имен файлов,
прав доступа и других операций.
- python
- для редактирования программ на Python и Jython.
- ido
- расширения к пакету iswitchb.
- master-mode
- дает возможность прокручивать подчиненный буфер без перехода из
основного. Очень полезно при работе с интерактивными сессиями, например при работе с
SQL или Lisp.
- gdb-ui
- обеспечивает графический интерфейс к GDB.
- bindat
- для работы с бинарными структурами, такими как пакеты сетевых протоколов.
- erc
- реализация irc-клиента с очень богатым функционалом.
- rcirc
- еще один irc-клиент, реализующий только базовые возможности.
- org-mode
- используется для хранения заметок и т.п.
Обновленные пакеты
Также было обновлено достаточно большое количество пакетов, уже входящих в состав GNU
Emacs. Вот краткий список обновленных пакетов, часто с достаточно большой новой
функциональностью:
- cc-mode
- улучшена поддержка font-lock, теперь он делается для всех языков, позволяя
пользователю задавать дополнительные ключевые слова для подсветки. Поддержка подсветки
комментариев для документации, таких как javadoc и аналогичные. Улучшена работа с
шаблонами C++. Добавлена поддержка AWK и улучшена поддержка Objective-C и IDL.
Улучшена обработка отступов.
- emacsserver
- заменен на реализацию на Emacs Lisp. Кроме этого, добавлена возможность
использования нескольких серверов на одной машине.
- tcl
- теперь называется tcl-mode.
- vc
- добавлена поддержка новых систем контроля версий MetaCVS, Subversion, GNU Arch.
- mh-e
- произведено обновление до версии 7.3. Изменений очень много, поэтому нужно
посмотреть их список в файле
MH-E-NEWS
.
- gud
- добавлена поддержка
jdb
(java debugger), и другие улучшения для работы с
отладчиками.
- sql-mode
- много улучшений и поддержка новых диалектов Oracle9i, MS SQL Server 2000,
SQLite. imenu пока поддерживает списки индексов, таблиц, правил и других объектов.
- gnus
- обновлен до версии 5.10, очень много изменений. Полный их список смотрите в файле
GNUS-NEWS
в поставке Emacs.
- sgml-mode
- добавлена поддержка XML документов. xml-mode теперь является алиасом для
sgml-mode. Автоматически устанавливается кодировка буфера в зависимости от кодировки
документа.
- bibtex-mode
- различные улучшения в работе с записями BibTeX.
- diff
- использует diff-mode вместо compilation-mode
- grep
- сделан отдельным пакетом, не зависимым от compilation-mode.
- compile
- улучшено распознавание ошибок. Также добавлена возможность по выполнению
grep
относительно буфера компиляции.
- apropos
- добавлена возможность сортировки найденных данных по весам поиска. Можно
указывать несколько слов для поиска, тогда будет искать совпадение как минимум двух
указанных слов.
- dired
- добавлены новые параметры изображения, команды. Для команды
!
можно управлять
параметрами подстановки имен файлов.
- info
- добавлена команда
info-appropos
, которая производит поиск по индексам
info. Добавлена поддержка изображений в буфере info. Также возможно использовать режим
font-lock в буфере info.
- ps-print
- добавлена возможность по печати символов из наборов mule-unicode.
- smtpmail
- добавлена поддержка SMTP Auth.
- etags
- добавлена поддержка новых языков — PHP, HTML, и улучшена поддержка старых —
Perl, TeX, C++ и других. Улучшения работы с регулярными выражениями, позволяющие
задавать многострочные регулярные выражения.
- po-mode
- файлы декодируются в соответствии с MIME-заголовками указанными в нем.
- tex-mode
- новый режим для редактирования
.dtx
файлов. Улучшена поддержка подсветки
фрагментов файлов.
- abbrevs
- автоматически считывает файл с определениями при запуске Emacs.
- ediff
- добавлена возможность сравнения файла с его последней резервной копией.
- ldap
- теперь использует
ldapsearch
из OpenLDAP версии 2.x.
- pc-selection-mode
- ведет себя подобно нормальному вспомогательному режиму, так что его
можно запретить и разрешить локально для буфера.
Last change: 05.03.2013 16:54