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

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

E — це вже не перший текстовий редактор для Windows, чиї розробники надихнулися маківським TextMate. Ще в минулому році я писав про InType — цікавий проект, який дуже неспішно розвивається. За великим рахунком, від E я теж не очікував сенсаційних відкриттів, але все ж встановив пробну версію. І не марно.

Інтерфейс

Відразу впадає в очі незвичайна деталь — сувора орієнтація на управління з клавіатури. Звичний для 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.

Image