E это уже не первый текстовый редактор для Windows, чьи разработчики вдохновились маковским TextMate. Еще в прошлом году я писал про InType любопытный, но очень неспешно развивающийся проект. По большому счету, от E я тоже не ожидал сенсационных открытий, но все же установил пробную версию. И не напрасно.
Сразу бросается в глаза необычная деталь строгая ориентация на управление с клавиатуры. Привычный для Windows-приложений тулбар начисто отсутствует, а почти для всех команд меню определены горячие клавиши. В том числе это касается сниппетов, о которых пойдет речь отдельно.
В действительности, UI E начисто лишен пафоса, что приятно
С моей точки зрения, такое решение очень правильно, т.к. при работе с текстом я и без того отдаю большее предпочтение клавиатуре, чем мыши, а нагромождение разноцветных кнопок создает лишний визуальный шум. Тем не менее, отказ от привычных кнопок copy/paste найдет признание со стороны далеко не любого пользователя. Слишком радикальная перемена.
В общем и целом, интерфейс радует обоснованным минимализмом.
Базовые возможности Е довольно обширны. Встречаются даже оригинальные детали для редакторов такого класса:
Теперь, самое интересное.
Наборы сниппетов довольно привычная деталь, распространенная во многих девелоперских редакторах. Как правило он выглядит как трехэтажное меню, заполненное десятками, если не сотнями, шаблонов. На практике не очень полезная вещь, т.к. часто бывает легче быстро набрать текст руками, чем вспоминать, где именно находится подходящий шаблон.
В E дела со сниппетами обстоят иначе. На первый взгляд, меню Bundles, в котором они собраны, действительно удручает своей перегруженностью. Тем не менее, его содержимое организовано весьма разумно.
Каждый bundle это не просто набор текстовых заготовок, а пакет, расширяющий функциональность редактора. В E такие пакеты ассоциированы с различными синтаксическими схемами, для каждой из которых предусмотрен не только набор команд для вставки типовых фрагментов текста, но и ряд более интеллектуальных операций.
Например, автозавершение слов и синтаксических конструкций, комментирование или раскомментирование выделенного фрагмента, выполнение скрипта (или только текущей строки) интерпретатором, визуальный выбор цвета (очень удобно для вставки HEX-кодов в CSS), алфавитная сортировка строк. Я привел только несколько примеров для иллюстрации разброса возможных операций; перечислять все бессмысленно, т.к. их несколько сотен.
Интересным моментом является то, что горячие клавиши для идентичных по смыслу команд из разных пакетов часто совпадают, а их выбор происходит автоматически, в зависимости от активной синтаксической схемы. Так Ctrl-R запускает скрипт, вне зависимости, на Python он написан или на Perl. Благодаря этому, придется запоминать меньше сочетаний клавиш и реже ковыряться в меню мышью.
Как уже было сказано, набор пакетов можно расширять теми, что уже разработаны для TextMate. Их можно найти в SVN-репозитории на официальном сайте проекта. На время написания этого текста, там находится 153 пакета с самой разной специализацией. Есть, например, bundle для работы со списками задач в стиле GTD.
Чтобы сделать этот обзор более полным, перечислю так же некоторые отрицательные детали.
В сущности, недостатки незначительны и простительны.
Да, чуть не забыл. $34.95.
Это кросспост с сайта paradigm.ru.
Интерфейс
Сразу бросается в глаза необычная деталь строгая ориентация на управление с клавиатуры. Привычный для Windows-приложений тулбар начисто отсутствует, а почти для всех команд меню определены горячие клавиши. В том числе это касается сниппетов, о которых пойдет речь отдельно.
В действительности, UI E начисто лишен пафоса, что приятно
С моей точки зрения, такое решение очень правильно, т.к. при работе с текстом я и без того отдаю большее предпочтение клавиатуре, чем мыши, а нагромождение разноцветных кнопок создает лишний визуальный шум. Тем не менее, отказ от привычных кнопок copy/paste найдет признание со стороны далеко не любого пользователя. Слишком радикальная перемена.
В общем и целом, интерфейс радует обоснованным минимализмом.
Функциональность
Базовые возможности Е довольно обширны. Встречаются даже оригинальные детали для редакторов такого класса:
- Можно выделять произвольное количество текстовых блоков (примерно как в MS Office). Для текстового редактора это чуть ли не уникальная фича. Даже в EmEditor такого нет. Так же возможно выделение вертикальных текстовых блоков, но это уже не так интересно и много где реализовано.
- Предусмотрена довольно оригинальная возможность копирования ввода. Она может быть использована для набора одинаковых фрагментов текста в разных частях файла. Понять, как это работает и в каких случаях применимо, проще всего посмотрев скринкаст на официальном сайте.
- Поддержка пакетов TextMate (bundles).
- Множество других, менее значимых, но полезных возможностей: табы (куда же без них); поиск по регулярным выражениям (оу, йез!); поддержка любых кодировок, включая Unicode; автозавершение слов; списки to-do, автоматически генерируемые из комментариев в тексте; группировка файлов в проекты; редактор тем, с возможностью сохранения цветовых схем; встроенный web-preview; синтаксическая подсветка для какого угодно синтаксиса; интеграция с системами контроля ревизий через TortoiseSVN и TortoiseCVS.
Пакеты
Теперь, самое интересное.
Наборы сниппетов довольно привычная деталь, распространенная во многих девелоперских редакторах. Как правило он выглядит как трехэтажное меню, заполненное десятками, если не сотнями, шаблонов. На практике не очень полезная вещь, т.к. часто бывает легче быстро набрать текст руками, чем вспоминать, где именно находится подходящий шаблон.
В E дела со сниппетами обстоят иначе. На первый взгляд, меню Bundles, в котором они собраны, действительно удручает своей перегруженностью. Тем не менее, его содержимое организовано весьма разумно.
Каждый bundle это не просто набор текстовых заготовок, а пакет, расширяющий функциональность редактора. В E такие пакеты ассоциированы с различными синтаксическими схемами, для каждой из которых предусмотрен не только набор команд для вставки типовых фрагментов текста, но и ряд более интеллектуальных операций.
Например, автозавершение слов и синтаксических конструкций, комментирование или раскомментирование выделенного фрагмента, выполнение скрипта (или только текущей строки) интерпретатором, визуальный выбор цвета (очень удобно для вставки HEX-кодов в CSS), алфавитная сортировка строк. Я привел только несколько примеров для иллюстрации разброса возможных операций; перечислять все бессмысленно, т.к. их несколько сотен.
Интересным моментом является то, что горячие клавиши для идентичных по смыслу команд из разных пакетов часто совпадают, а их выбор происходит автоматически, в зависимости от активной синтаксической схемы. Так Ctrl-R запускает скрипт, вне зависимости, на Python он написан или на Perl. Благодаря этому, придется запоминать меньше сочетаний клавиш и реже ковыряться в меню мышью.
Как уже было сказано, набор пакетов можно расширять теми, что уже разработаны для TextMate. Их можно найти в SVN-репозитории на официальном сайте проекта. На время написания этого текста, там находится 153 пакета с самой разной специализацией. Есть, например, bundle для работы со списками задач в стиле GTD.
Некоторые минусы
Чтобы сделать этот обзор более полным, перечислю так же некоторые отрицательные детали.
- Сразу после установки, E ставит перед фактом собственной необходимости в cygwin и автоматически скачивает целый ворох пакетов (включая довольно тяжелые Perl, Python и Ruby). Все вместе они занимают порядка 30-40 Mb. Было бы разумно иметь возможность скачивать все сразу, в виде одного файла. Иначе полноценная установка становится зависимой от наличия доступа в интернет.
- Процесс загрузки бандлов занимает несколько секунд после старта программы. Все реализовано довольно грамотно (начинать работать с текстом можно не дожидаясь окончания загрузки), но от текстового редактора все же обычно ждешь большей прыти. Все-таки, не Фотошоп.
В сущности, недостатки незначительны и простительны.
Да, чуть не забыл. $34.95.
Ссылки по теме
- Официальный сайт E и прямая ссылка на триальную версию.
- Вики с документацией.
- Скринкаст, дающий представление о работе с регулярными выражениями в E.
- Сайт TextMate и библиотека его расширений.
- Статья про E в Википедии.
Это кросспост с сайта paradigm.ru.