Меню:


Введение

Грядущий выход 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

blog comments powered by Disqus