Редактор sublime text: Sublime Text — A sophisticated text editor for code, markup and prose – Download — Sublime Text

Пишем простой плагин для Sublime Text 2 / Habr

Введение

Странно, но поискав на Хабре упоминания текстового редактора Sublime Text 2 я почти ничего не нашел. Спешу исправить положение и рассказать хабраюзерам об этом прекрасном инструменте. Вначале очень коротко расскажу о том чем же он так хорош, потом напишем простой но полезный плагин.

Почему Sublime Text 2

Не берусь утверждать, что Sublime Text 2 — лучший текстовый редактор, но мне он пришёлся очень по душе, и вот почему:
  • Приятный глазу тёмный интерфейс, визуальные эффекты и Distraction Free Mode
  • Панелька с редактируемым текстом в миниатюре. Интересная и действительно удобная находка!
  • Множественное выделение и редактирование
  • Все фичи свойственные большинству продвинутых редакторов: подсветка синтаксиса, форматирование кода, автодополнение и т.д.
  • То чего нет «в коробке» можно скачать из репозитария! Да-да, после совершения простейших манипуляций в Sublime появляется полноценная система управления пакетами, почти как в убунте или дебиане.
  • Если и этого не достаточно — прямо в главном меню есть пункт «New Plugin». Жмем на него и пишем плагин реализующий необходимый нам функционал на языке Python. Об этом и пойдет речь.
  • Стоит это чудо $59 за одну, либо $500 за 10 лицензий. Однако если не хочется, то можно и не платить. Ограничений никаких в этом случае нет, просто изредка будет всплывать напоминание.

Постановка задачи

Пример реальный, из инженерной практики. Перевод выделенного числа в тексте из десятичной в шестнадцатеричную систему счисления. Фича должна быть доступна из главного и контекстного меню а так же по сочетанию клавиш Ctrl+Shift+H. Результат выполнения: число в хексе записанное с использованием цифр и букв верхнего регистра без каких-либо ведущих символов вроде «0x». Если выделенный текст не является числом — ругаемся об этом с статусбаре. Обращаю внимание, что пример намерено упрощен до максимума, чтоб за деталями не потерялась суть: простота создания плагинов для Sublime.
Пишем плагин

Жмём Tools -> New Plugin… и видим заготовку. Меняем название класса и пишем функционал в методе run. У меня получилось следующее:
import sublime, sublime_plugin

class DecToHexCommand(sublime_plugin.TextCommand):
	MAX_STR_LEN = 10
	def run(self, edit):
		v = self.view

		# Получаем значение первого выделенного блока
		dec = v.substr(v.sel()[0])

		# Заменяем десятичное число шестнадцатеричным или выводим сообщение об ошибке		
		if dec.isdigit():
			v.replace(edit, v.sel()[0], hex(int(dec))[2:].upper())
		else:
			# Обрезаем слишком длинные строки, которые не поместятся в статусбар 
			if len(dec) > self.MAX_STR_LEN:
				logMsg = dec[0:self.MAX_STR_LEN]+ "..."
			else:
				logMsg = dec
			sublime.status_message("\"" + logMsg + "\" isn't a decimal number!")


Сохраняем туда куда предложит редактор с именем dec_to_hex.py
Добавляем пункты меню. Прописываем клавиатурное сочетание

Начнем с «горячих клавиш». В меню жмём
Preferences -> Key Bindings-User
. Открывается файл с настройками в формате JSON. Скорее всего пустой. Добавляем в него строчку
 { "keys": ["ctrl+shift+h"], "command": "dec_to_hex" }

Сохраняем. Всё. Впринципе уже можно пользоваться. Если не работает стоит посмотреть что по этому поводу написано в консольке (Ctrl+`).
Для того чтоб добавить пункт в контекстное меню создаём файл Context.sublime-menu следующего содержания:
[  
    {  
        "command": "dec_to_hex"
    }  
]  

Думаю, что как и в предыдущем случае всё понятно без комментариев. Сохраняем в тот же каталог, в который сохранили плагин. Т.е. %USERPROFILE%\AppData\Roaming\Sublime Text 2\Packages\User, для пользователей Windows. Там же создаём файл Main.sublime-menu. Я посчитал, что этот пункт будет уместнее всего в меню Edit, поэтому в файле Main.sublime-menu написал следующее:

[  
    {  
        "id": "edit",  
        "children":  
        [  
            { "command": "dec_to_hex" }  
        ]  
    }    
]

Проверяем. В главном и контекстом меню должны появиться пункты с названием Dec To Hex

На этом всё. А о том как упаковать наш плагин в пакет и поделиться им с товарищами, а так же о других интересных возможностях Sublime расскажу в следующий раз, если тема будет кому-нибудь интересна.

Ссылки:

UPD: написал про Dev Builds и стоимость лицензии. Спасибо хаброюзерам Sky4eg, VCoder и vtx

О редакторе | Sublime Text

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

Интерфейс

На самом деле, это не такая уж незначительная деталь, как может показаться на первый взгляд. Если вы пользуетесь инструментом большую часть рабочего дня, в нем должно радовать все. Не только скорость, возможности и удобство, но и эстетическая часть, тоже должна быть в порядке.

Подсветка ситаксиса

Это самое первое, на что обращаешь внимание в любом редакторе. Sublime Text по-умолчанию поддерживает огромное количество языков и предлагает на выбор около 20 цветовых схем.

Полноэкранный режим

В этом режиме рабочая область программы занимает весь экран. Очень полезно, если вы хотите, чтобы вас ничего не отвлекало. По настоящему функцию можно оценить когда подключено несколько мониторов. На одном экране редактор, на втором рабочий проект и больше ничего!

Миникарта

Этого не встречал еще ни где. В узкой колонке миникарты умещается примерно 5-6 экранов, что позволяет быстро перемещаться по коду. Это не замена и не аналог закладок, а просто еще один удобный способ навигации.

Мультипанели

Еще одна особенность, присущая далко не всем редакторам, это возможность параллельно работать с несколькими файлами в одном окне. Порой, это намного удобнее чем несколько независимых окон.

Подсветка парных скобок

Поставьте курсор внутри какой-либо сложной функции и ST подсветит ближайшие парные скобки.

Автосохранение

Для того, чтобы не нажимать «Сохранить» каждый раз, когда вам необходимо проверить внесенные изменения, в Sublime Text предусмотрена функция автосохранения. Редактор будет выполнять за вас эту операцию каждый раз, когда окно программы или вкладка с открытым файлом потеряют фокус.

Редактор

И все-таки, самое главное в редакторе, это его возможности работы с текстом. И у Sublime Text с этим все в порядке. Смотрите сами.

Снипеты

Сейчас все больше редакторов поддерживают снипеты. Наверное, уже можно сказать, что эта функция стала стандартом, наравне с подсветкой синтаксиса. Здесь ST ни чем не выделяется, но и не отстает от ближайших конкурентов. Все есть, и все отлично работает.

Кодкомплит

Автозавершения чего угодно. Если напечатать часть имени известной функции, ST дополнит её. Если подходящих совпадений не найдется, строка будет дополнена первым подходящим значением.

Макросы

Макросы позволяют записать и воспроизвести простейшие действия: набор текст, копирование, вставка и так далее.

Поиск и замена

Найдется все. Искать можно по всему файлу, только по выделенному фрагменту, с помощью регулярных выражений и в любом направлении. Также, хорошими помощниками станут автоматическая подсветка выделенного, инкрементное выделение и замена.

Проверка орфографии

Очень смышленая проверка орфографии. Подсвечивает слова, в которых были допущены орфографические ошибки, но только в текстовых строках и в комментариях.

Мультивыделение

Позволяет выделить несколько текстовых блоков и одновременно их скопировать или отредактировать.

Закладки

Значительно упрощают навигацию, особенно, когда вы работаете с большим файлом. Закладка запоминает не просто номер строки, а также выделенную область и положение курсора.

Настройка

Практически все параметры редактора настраиваются вручную в текстовых файлах. Пожалуй, не самый удобный способ на свете, но зато сразу видно все параметры и описание их назначения. Также, это позволяет легко переносить настройки с одного компьютера на другой.

Хоткеи

Файлы настроек позволяют изменить любое сочетание клавиш на удобное для вас.

Плагины

Функционал Sublime Text может быть легко расширен плагинами, написанными на Python. Для их создания разработан довольно обширный API.

Обзор текстового редактора Sublime Text 3

Всем привет! Сегодня хотелось бы рассказать об одном классном текстовом редакторе под названием Sublime Text 3. До этого я пользовался легковесным Notepad++ для различных конфигов и кодинга, но сейчас немного увлёкся веб-разработкой, как уже можно было понять в одной из предыдущих статей.

Смотрел видеоуроки и обратил внимание на отсылки к текстовому редактору Sublime Text 3 (далее – ST), возможности которого слегка поражали. О некоторых из них попробую рассказать здесь, но опять же, это надо видеть или делать своими руками. При желании в YouTube можно найти множество роликов, повествующих о его богатых возможностях (и демонстрирующих всё их многообразие), я не буду создавать ещё один, а постараюсь вкратце описать то, что мне понравилось.

Быстрый доступ к настройкам

Чтобы не бегать по меню (которое достаточно многообразно) в поисках нужной команды, можно нажать сочетание клавиш Ctrl+Shift+P и начать набирать то, что мы хотим сделать.

Впоследствии, когда будете ставить дополнительные сниппеты (о них далее), плагины и т.д., то этот список будет расширяться новыми пунктами (кстати, если открывать разные типы файлов – тоже список может меняться), поэтому искать что-то таким способом станет легче. Кстати, здесь же показываются горячие клавиши, если они есть (а если нет, то их можно назначить).

В примере на скриншоте я привёл команду сортировки линий. Работает изумительно! Выделяем ряд строк, нажимаем F9 и вжух-вжух! Строки отсортированы в алфавитном порядке!

Быстрое выделение текста

Множество вариантов выделить определённый фрагмент текста, например то, что заключено внутри скобок – Ctrl+Shift+M. Пригодится в программировании, например. Ставим курсор в любое место внутри скобок и нажимаем заветное сочетание клавиш! Редактор выделит текст по обе стороны от курсора до ближайшей пары скобок.

Если же речь идёт о HTML/XML коде, то выделит содержимое какого-либо тега можно нажатием клавиш Ctrl+Shift+A – выделится только текст внутри конкретного тега. Это очень удобно, если имеется большая вложенность, а инденты (отступы) расставлены не очень красиво.

Кстати, об отступах. Мало того, что они здесь гибко настраиваются, так ещё и есть возможность выделить весь текст на определённом уровне отступов. Для этого нужно запомнить сочетание клавиш Ctrl+Shift+J. Запомнить такое количество клавиш сразу тяжело, но стоит попрактиковать это пару часов в работе и всё!

Кстати, можно выделив какой-то фрагмент текста быстро выделить и другие вхождения этого же фрагмента в тексте нажав Ctrl+D, причём тут мы сталкиваемся с таким понятием, как множественное выделение и редактирование. Теперь в тексте у нас несколько курсоров! Можно вводить и удалять текст одновременно в несколько мест! Этот способ хорош для переименования класса или переменной или перепечатки какого-либо участка текста, если использование поиска и замены нежелательно!

Плагины

Плагинов великое множество! А так как редактор, насколько я знаю, написан на Python, то и писать какие-то свои дополнения под силу каждому, кто знаком с языком.

Установка плагинов достаточно проста – в уже упомянутой мной панели быстрого доступа к настройкам вводим Install Packages и попадаем в панель дополнений, где так же действует поиск. Выбрав нужное дополнение жмём Enter и оно устанавливается! Нет ничего проще!

Плагинов великое множество! Есть и для встраивания терминала прямо в окно редактора, для работы с git, подсветки синтаксиса и ещё много чего ещё!

Сниппеты

Вот эта тема мне очень понравилась! Есть определённые заранее заготовленные “кирпичики”, которыми можно пользоваться для ускорения ввода текста. Кроме того, можно задавать собственные! Сейчас покажу.

Плагины

Ставим плагин Emmet, он помогает расширить количество сокращений удобных для вёрстки кода (вот список), переходим в редактор и напишем конструкцию вида:

.class1>ul>(li.MenuItem{Пункт $})*5

То есть класс, в который вложен ul, в который вложены li в количестве пяти штук, имеющие класс MenuItem с содержимым тега “Пункт ” и порядковый номер элемента.

Нажимаем Tab и конструкция развернётся в

Колдовство? Согласен!

По ссылке есть и правила, по которым преобразуются сниппеты. Там ОЧЕНЬ много материала, стоит брать на вооружение.

Собственные сниппеты

Мы также можем делать собственные сниппеты. Весьма несложно. Делается следующим образом:

  1. Tools -> Developer -> New Snippet
  2. Откроется новое окно с текстом вроде этого:
  3. Тут всё в принципе понятно, создаём конструкцию вида:
    Думаю понятно, что есть что. content – то, что будет вписано. tabTrigger – по какому сочетанию клавиш это вызывать. scope – область видимости, с какими типами файлов работать. Всё есть в документации.
    Я же сделал цикл for и описал там некоторую текстовую константу с тремя маркерами ввода, причём в пермое задано значение по умолчанию “0”. Символы $ тут являются служебными, и те, что относятся к тексту, приходится экранировать слешем.
  4. Сохраняем сниппет:
  5. Перезапускаем редактор, чтобы изменения вступили в силу… И пробуем! Открываем php-исходник и пишем там наше ключевое слово fori и жмём Tab:
    Сначала курсор у нас стоит в позиции с выделенным текстом 0 (это значение по умолчанию ${1:0}), при нажатии следующего Tab, он перейдёт в позицию ${2}, затем ${3}. Таким образом мы можем расставить якоря, куда прыгать курсору для ввода текста! Также есть много служебных ключевых слов и методик, позволяющих модифицировать тело сниппета на лету. Ну я так не углубляюсь, просто пишу часто употребляемые конструкции.

Сворачивать фрагменты файла

Можно убрать большую “простыню” кода, если выделить фрагмент и нажать Ctrl+Shift+[ (развернуть – соответственно Ctrl+Shift+] ).

Было

Стало:

Типовая функция, но весьма приятная.

Навигация по CSS-свойствам

Открываем CSS-файл и нажимаем клавиши Ctrl+R. Появится панель с полем ввода, где мы можем набрать какой-либо класс CSS, или просто перемещаться стрелочками между классами. В редакторе будет мгновенно подсвечиваться нужный участок кода:

Нечто подобное есть и для HTML кода, правда там навигация по ID идёт.

Разделение рабочей зоны на окна

Куда же без этого?! Есть множество предустановок, например Alt+Shift+1 (так же есть цифры 2, 3, 4, 5, 8, 9)

Текстовый редактор Sublime Text 2.

Текстовый редактор Sublime Text 2.

Привет всем и сегодня я хочу рассказать вам о текстовом редакторе Sublime Text 2.

Sublime Text 2 — продвинутый текстовый редактор для разработчиков. У него, конечно же, есть подсветка синтаксиса, мультиредактирование и много чего другого.

Начать же стоит с того, что он платный, но не закрывайте статью, потому что стоит он не очень дорого — 70$, но, если вы не хотите платить, то можете пользоваться им и беслпатно. Бесплатная версия ничем не отличается от платной кроме того, что примерно раз в 2 часа у вас будет выскакивать сообщение с просьбой оплатить редактор и справа в верхнем углу большими буквами будет написано UNREGISTERED. Скачать его вы можете с оффициального сайта — http://www.sublimetext.com/ Есть версии под Windows, Linux и Mac.

Почему Sublime Text 2?

Теперь поговорим о том, чем он лучше других.

Во-первых, он очень красивый. В нем правильно подобрана цветовая схема, шрифт, цвет и вообще все сделано так, чтобы программисту было приятно в нем работать.

Во-вторых, он очень шустрый. Откликается мгновенно.

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

В-четвертвых, есть мультиредактирование. Это очень полезная вещь. Вы можете зажать alt и выделить любые места в документе, не отрывая мышки, и потом редактировать их все сразу одновременно. Плюс ко всему, эта функция работает намного лучше, чем например в Notepad++ и других редакторах.

В-пятых, он поддерживает огромное количество горячих клавиш, благодаря которым вы сможете работать с документом не используя мышку вообще.

В-шестых, для этого редактора написано огромное количество плагинов, скачав которые вы сможете еще больше облегчить себе работу, а, чтобы вам было легче их находить и скачивать, есть package control. Вы вызываете его, вводите название плагина и нажимаете «установить». Буквально через 5 секунд плагин уже установлен и готов к работе.

И последний аргумент — все настройки хранятся в json файлах. Вы можете зайти туда и легко настроить редактор под себя.

Я рассказал основные его достоинства, но далеко не все. На самом деле, этот редактор можно приравнять к полноценной IDE и одной статьи, чтобы описать все его достоинства, не хватит.

Заключение

Если вы обладатель системы Mac или Linux, то однозначно используйте именно этот редактор. Если же вы обладатель Windows, то у вас есть выбор: использовать Sublime Text 2 или Notepad++. Второй редактор тоже очень хорош, но он значительно уступает Sublime Text, так что я советую и пользователям этой системы использовать именно его.

Надеюсь, что эта статья была вам полезна и вы сделаете правильный выбор.

  • Текстовый редактор Sublime Text 2. Создано 18.05.2014 20:15:37
  • Текстовый редактор Sublime Text 2. Михаил Русаков

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *