Software
14 May 2008

E: Весь пафос TextMate для Windows

E — это уже не первый текстовый редактор для Windows, чьи разработчики вдохновились маковским TextMate. Еще в прошлом году я писал про InType — любопытный, но очень неспешно развивающийся проект. По большому счету, от E я тоже не ожидал сенсационных открытий, но все же установил пробную версию. И не напрасно.

Интерфейс



Сразу бросается в глаза необычная деталь — строгая ориентация на управление с клавиатуры. Привычный для Windows-приложений тулбар начисто отсутствует, а почти для всех команд меню определены горячие клавиши. В том числе это касается сниппетов, о которых пойдет речь отдельно.

The Power of Textmate on 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.

Ссылки по теме





Это кросспост с сайта paradigm.ru.

+20
3.8k 24
Comments 47