Аналог Textmate для Windows
Опубликовано: Ноябрь 7, 2010 Filed under: Разное | Tags: Python, Textmate, Sublime, textmate for windows 1 Comment »Всем кому когда либо приходилось работать на компах от яблочной компании, точно знают про такую программку как Textmate. Это такой текстовый редактор для программистов и не только. Основные его достоинства:
- гибкая конфигурация
- большое количество бандлов
- огромное количества языков
- очень симпатичные темы оформления
- тру яблочная программа….
Собственно из последнего “достоинства” вытекает основное неудобство – ни под чего кроме OS X textmate не рабтает и скорее всего не будет.
Зато есть альтернативы под Windows. Их немного и они достаточно резво гуглятся. Но все унылые :( Все кроме одного. Он называется Sublime Text. В некоторых моментах он даже превосходит основной Textmate, например такой штукой как Minimap.
Программка платная, но денег своих ($ 59) стоит. В принципе, можно и не покупать – будет выскакивать иногда окошко “купи меня” но совсем не напрягает. Но для тех кто купит – есть БОЛЬШОЙ БОНУС. Они могут скачать Sublime X – версия программы для Windows, OSX и Linux!!!
Нужно сказать пару слов о работе с программой.
У программы необычная система настройки. В отличие от остальных программ у Sublime нет визуального конфигуратора настроек, все производится через файлы конфигов, которые открываются в самой программе. Но это не сложная процедура и пугаться ее не стоит. Конфигурационные файлы изобилуют комментариями, все параметры интуитивно понятны.
Так – же надо отдельно сказать про бандлы и снипеты Sublime. Бандлы пишутся на Python. В комплекте вместе с программой идет Python достаточно свежий для работы, консоль которого можно вызвать нажав Ctrl+~
Чтобы начать писать свой бандл – нужно выбрать Tools -> New Plugin. Система сгенерирует заготовку:
import sublime, sublimeplugin # This simple plugin will add 'Hello, World!' to the end of the buffer when run. # To run it, save it within the User/ directory, then open the console (Ctrl+~), # and type: view.runCommand('sample') # # See http://www.sublimetext.com/docs/plugin-basics for more information class SampleCommand(sublimeplugin.TextCommand): def run(self, view, args): view.insert(view.size(), "Hello, World!\n")
Чтобы посмотреть что получается – то скрипт надо сохранить в папке %installFolder%/Packages/User/ с любым названием. Чтобы проверить плагин жмем Ctrl+~ и вводим view.runCommand(‘samlpe’). Plugin API открытый, очень доступный и достаточно гибкий. Так-же большое количество бандлов есть на форуме программы. Я бы посоветовал сразу поставить Session plugin, плагин сохраняет все табы при выходе из программы.
Сниппеты пишутся на XML – и они максимально простые. Вот пример моего сниппета:
<snippet> <content><![CDATA[#coding=utf-8]]></content> <tabTrigger>utf</tabTrigger> <scope>source.python</scope> <description>add utf-8 signature</description> </snippet>
В <content> вписывается то что вставится в момент вызова сниппета. <tabTrigger> определяет набор символов перед нажатием кнопки Tab для вызова сниппета. <scope> – определяет для какого типа исходников доступен сниппет.
Более подробную информацию смотрите на сайте программы и официальном форуме. Программа постоянно развивается и улучшается и на мой взгляд ужа давно обошла всех своих “одноплатформенных” конкурентов и уже подбирается к textmate.
PS: Кстати – это не реклама :)

[...] этому посту, узнал об очень интересном редакторе, SublimeText. [...]