• В Sublime Text 3 вместо новых вкладок заменяются открытые. Как лечить?


    Дополню ответ ув-мого Романа Огаркова.

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

    GfhShN9.png
    Единичным кликом мы вызываем т. н. «режим просмотра» файла. Когда открыта вкладка с файлом в режиме просмотра, когда мы кликаем любой кнопкой мыши 1 или 2 раза по имени или иконке другого файла, этот самый другой файл откроется в той же вкладке, где был первый.

    Если мы вносим изменения в файл, который находится в режиме просмотра, то курсив его имени во вкладке пропадает, — осуществляется переход из режима просмотра в «режим редактирования». Когда открыта вкладка файла, находящегося в режиме редактирования, при клике любой кнопкой мыши по другому файлу в сайдбаре, этот самый другой файл открывается уже в новой вкладке.

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

    Чем это полезно, за годы работы в Sublime Text я не увидел. К тому же неудобно удалять файлы: ПКМ по имени или иконке файла в сайдбаре → DeleteYes, delete the selected itemsCtrl+WНет — нажимать приходится много.

    Для отмены режима просмотра проделываем следующее:Preferences →Settings - User→ добавляем в открывшийся файл строчку"preview_on_click": true,→ отныне после одинарного клика ЛКМ или любого количества кликов СКМ ничего не произойдёт. Для открытия файла в сайдбаре в режиме редактирования необходимо кликать по его имени или иконке дважды.

    Несмотря на многочисленные просьбы, открытие файла в режиме редактирования единственным кликом ЛКМ в Sublime Text 3 на сентябрь 2016 не вводят.

    Спасибо.
    Ответ написан
    2 комментария
  • Знак вопроса в Sublime text 3?

    Вопросительные знаки в gutter Sublime Text показывает плагин BracketHighlighter, если
    1. Есть открывающая скобка, кавычка или тег, но нет закрывающих или наоборот.
    2. Расстояние между открывающими и закрывающими скобками, кавычками, а обычно тегами составляет более 5000 символов. Как объяснил разработчик, это сделано затем, что компьютер может подвисать, когда расстояние больше.

    Ограничение в 5000 символов можно убрать. PreferencesPackage SettingsBracketHighlighterBracket Settings - User → в открывшийся файл вставляем одну из следующих строк. Будьте внимательны с JSON-синтаксисом, расставляйте правильно знаки препинания.

    1) "search_threshold": 20000,

    5000 символов маловато, цифра увеличивается параметром search_threshold . 20000 установил пользователь Sublime Text quodlibet.

    2) "ignore_threshold": true,

    Сколько символов бы не располагалось между открывающим и закрывающим тегами, в gutter отобразится символ, назначенный тегам в BracketHighlighter, а не вопросительный знак. я тестировал "ignore_threshold": true, на больших файлах — подвисаний не обнаружил. Как обстоит дело на не самых мощных компьютерах, сказать не берусь.

    Было:

    XtXHd1c.png

    Стало:

    AlU5lYs.png

    Чтобы вместо символов BracketHighlighter не отображались вопросительные знаки, код должен быть валидным: так, на HTML-странице не должно содержаться незакрытых тегов или наоборот открывающих тегов без закрывающих. У меня вопросительные знаки появились из-за лишнего слэша в теге <a>: <a href="http://example.com"/>Sasha Zeitgeist</a> вместо <a href="http://example.com">Sasha Zeitgeist</a>.

    Для валидации HTML прямо в Sublime Text существуют плагины SublimeLinter3 и SublimeLinter-html-tidy . Об их установке я расписал здесь. Как установить линтеры для CSS, JavaScript и PHP см. статью на Хабрахабре.

    Спасибо.

    Ответ написан
    Комментировать
  • Как создать дополнительную команду консоли винды?

    Вы задали 2 различных вопроса в одном. Пожалуйста, не делайте больше так.

    Как создать дополнительную команду в интерпретаторе командной строки Windows?
    В Windows есть команда doskey, но так как Вы работали в Ubuntu, полагаю, Вам будет удобнее воспользоваться программой Cash, добавляющую многие команды UNIX-подобных ОС в Windows. Небольшой обзор Cash я расписал в этом ответе.

    После установки будет доступна команда alias: создаёте алиасы также, как в Ubuntu. Простейший пример:

    E:\Киролайна>cash
    SashaGoddess@DESKTOP-0G54NVG:E/Киролайна$ alias amazing='echo Sasha_Amazing!'
    SashaGoddess@DESKTOP-0G54NVG:E/Киролайна$ amazing
    Sasha_Amazing!


    Как задействовать команду subl в Windows?
    Если пользуетесь Sublime Text 2 или ранними версиями Sublime Text 3, вводите в терминал упоминавшуюся ранее команду doskey:
    doskey subl="C:\Program Files\Sublime Text 2\sublime_text.exe" $*
    , где C:\Program Files\Sublime Text 2\sublime_text.exe — путь к исполняемому файлу Вашего Sublime Text.

    Когда же стоит Sublime Text 3 Build 3065 или выше, копируете файл subl.exe из папки с установленным Sublime Text 3 в C:\Windows\System32. Всё, должна заработать новая команда subl. Чтобы открыть файл SashaSaviora.txt в Sublime Text 3, достаточно ввести в командную строку subl SashaSaviora.txt.

    Интеграции Sublime Text с командной строкой посвящена шестая глава книги «Sublime Text Power User» — «Terminal and Command Line Integration». Начинается она со страницы 48. Правда, в этой главе я заметил 2 ошибки, о которых написал здесь под номерами 50 и 52.

    Спасибо.

    Ответ написан
    Комментировать
  • Как дублировать окно в Sublime3?

    Для расширенной работы с «окнами» (строго говоря, термин «окно» не совсем корректен, на английском термин звучит как «pane») используется плагин Origami.

    Устанавливаем плагин через Package ControlCtrl+Shift+POrigami: Create Pane on the Right (зная о fuzzy-поиске, можно набрать просто ocpotr) → справа появилось новое окно. Ctrl+Shift+POrigami: Clone File to Pane on the Right → копия файла появилась в правом окне.

    rWS3HxP.gif
    Когда мы вводили текст в Command Palette, можно было заметить, что справа от пунктов меню показываются горячие клавиши для команд. Смотрим, какие шорткаты соответствуют Origami: Create Pane on the Right и Origami: Clone File to Pane on the Right → для дублирования вкладки хоткеями необходимо набрать Ctrl+K, Ctrl+Right, затем Сtrl+K, Alt+Right.

    Bi9KasZ.gif
    Для обретения навыков работы с «окнами» в Sublime Text советую почитать седьмую главу книги «Sublime Text Power User» — «Maximizing Screen Real Estate with Multiple Panes and Origami». Начинается она со страницы 54.

    Спасибо.
    Ответ написан
    1 комментарий
  • Почему в sublime text перестало работать выделение нескольких строк при нажатии на колесико мыши?

    Выделять также можно при помощи сочетаний Option/Alt+Shift+стрелки, но да, с мышью выйдет побыстрее.

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

    Отличие Вашего случая от описанного там состоит, что проблемы в хоткеях мыши, а не клавиатуры. Действиями, описанными в п.4 определяете команду, которая вызывается нажатием средней кнопки мыши. По умолчанию должно быть drag_select с дополнительной информацией в {фигурных скобках}, вроде такой:

    command: drag_select {"event": {"button": 1, "x": 915.5, "y": 840.5}}

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

    Что делать, если по имени команды никак не получается определить плагин, её использующий. Как в пункте 2 не получится. Сначала PreferencesBrowse Packages...User → в этой папке создаём файл Default (OSX).sublime-mousemap или Default (Linux).sublime-mousemap или Default (Windows).sublime-mousemap в зависимости от Вашей операционной системы.

    Затем потребуется установка плагина PackageResourceViewer. После неё Ctrl+Shift+PPackageResourceViewer: Open Resource (пользуясь fuzzy-поиском достаточно написать prv) → DefaultDefault (OSX).sublime-mousemap или Default (Linux).sublime-mousemap или Default (Windows).sublime-mousemap в зависимости от Вашей операционной системы. В открывшемся файле смотрим на строки, содержащие "press_command": "drag_select". мне неизвестно, не работает ли у Вас средняя кнопка мыши только когда зажата без других клавиш или же в различных сочетаниях с ней тоже проблемы, может потребоваться скопировать в файл, который мы создали абзацем выше, только

    {
    	"button": "button1", "count": 1,
    	"press_command": "drag_select"
    },

    или же все ограниченные {фигурными скобками} блоки, содержащие drag select. Будьте внимательны с синтаксисом JSON, не опечатывайтесь в [квадратных], {фигурных} скобках и запятых. Лично я себе скопировал весь файл — нечего плагинам менять дефолтные настройки мыши.

    Должно заработать.

    HHOLp72.gif
    Спасибо.
    Ответ написан
    1 комментарий
  • Как скачать фотографию если заблокировали функцию правой мыши?

    Зажимаете картинку левой кнопкой мыши и перетаскиваете её, например, на рабочий стол. Пишут, что против этого нет мер противодействия.

    Спасибо.
    Ответ написан
    Комментировать
  • Как изменить картинки у темы в sublime-text?

    Устанавливаем плагин Package Resource Viewer. Ctrl+Shift+PPackageResourceViewer: Open Resource (пользуясь fuzzy-поиском достаточно написать prv) → Theme - SodaSodaDark.sublime-theme → в открывшемся файле ищем tab_control — это имя класса вкладок.

    В одних {фигурных скобках} с "class": "tab_control" будут находиться строки, начинающиеся с "layer0.texture" , например, "layer0.texture":"Theme - Soda/Soda Dark/tab-inactive.png". Theme - Soda/Soda Dark/tab-inactive.png — относительный путь к файлу картинки, начиная с PreferencesBrowse Packages... . Заменяете в файле пути к изображениям Soda Dark на пути к своим картинкам → сохраняете файл → вкладки должны измениться.

    Где взять изображения, если у Вас нет готовых. Выбираем полюбившуюся Вам тему, — для примера возьмём Cobalt2, — нагугливаем её репозиторий на ГитХабе, в файле темы с расширением sublime-theme ищем класс tab_control, находим, какие изображения во вкладках ему соответствуют → скачиваем эти изображения.

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

    Спасибо.
    Ответ написан
    Комментировать
  • Как добавить в Sublime Text 3, HTML документа свой цвет определенному элементу?

    К сожалению, файлы с расширением .sublime-syntax могут обновляться с выходом новых билдов Sublime Text → соответственно, Ваши изменения окажутся утерянными → придётся заново туда вставлять строки. Вариант: настроить какую-нибудь SVN → клонировать папки с Вашими изменениями → после обновлений, например, в Git ввести команду git pull, которая сольёт изменения. Но это лишние движения: так, чтобы внёс изменения один раз и забыть — я не знаю, как сделать. Можно скопировать содержимое файлов в отдельные пользовательские файлы, которые затем настраиваете на использование в качестве синтаксисов для своих языков разметки/программирования, но тогда не будут получаться обновления, что ещё хуже. Поэтому лучше всего, полагаю, писать разработчикам синтаксисов, они вполне реально могут прислушаться.



    Пример, если Ваш шаблон будет подсвечиваться в HTML-файле. Порядок действий, когда он начнёт подсвечиваться в JavaScript-файле аналогичный, далее по тексту вместо sashaphenomenal.html вставляте sashaphenomenal.js, а text.html.basic замените на source.js. Надеюсь, разберётесь самостоятельно.

    Для начала рекомендую установить плагин Local History, дабы не пришлось прибегать к переустановке Sublime Text, если что-то поломается в дефолтных настройках синтаксисов.

    Потребуется установка плагина PackageResourceViewer. После неё Ctrl+Shift+PPackageResourceViewer: Open Resource (пользуясь fuzzy-поиском достаточно написать prv) → HTMLHTML.sublime-syntax . В открывшемся файле где-нибудь (я вставил между строками pop: true и - match: (</?)((?i:body|head|html)\b) ) копипастите следующие 2 строки и сохраняете файл:

    - match: //= template/header.html
      scope: sashaphenomenal.html

    После match: Ваш шаблон, после scope: — заданная область видимости.

    Далее открываем файл активной цветовой схемы с расширением tmTheme. Если не знаете, как — см. тут в первых двух абзацах после Простое решение. В файле темы где-нибудь между тегами <array></array> вставляете следующий код:

    <dict>
    	<key>name</key>
    	<string>HTML: Sasha Phenomenal</string>
    	<key>scope</key>
    	<string> text.html.basic sashaphenomenal.html </string>
    	<key>settings</key>
    	<dict>
    		<key>background</key>
    		<string>#E07585E0</string>
    	</dict>
    </dict>

    Что содержится между тегами <string></string>, по порядку:
    1. HTML: Sasha Phenomenal — произвольное имя настройки для удобства дальнейшего поиска в файле схемы или на tmTheme Editor.
    2. text.html.basic — область видимости для HTML-файлов, sashaphenomenal.html — scope, которую мы прописали при предыдущей вставке.
    3. #E07585E0 — цвет, я выбрал формат ARGB. Лучше задавать цвет в ARGB или HEX HEX, а не X11 colors, поскольку в Sublime Text 3 могут некорректно отображаться как минимум цвета aqua, fuchsia и lime.

    Сохраняем файл → открываем произвольный HTML-документ → вставляем в него //= template/header.html → Ваш темплейт должен подсвечиваться вот так:

    1bxJljd.png
    Возможно, придётся подождать несколько минут, пока изменения вступят в силу. Иногда помогает перезагрузка файлов или Sublime Text 3.

    Если шаблону необходима не подсветка, а определённый цвет текста или желаете сделать его жирным/наклонным, опять же тут написано, какие ключи требуется задавать, (найдите по ссылке, где Золотой текст, Зелёный фон, Наклонный коралловый текст).

    Если считаете, что подсветка этого шаблона будет полезна не только для Вас, откройте здесь New Issue и предложите свою идею разработчикам. У Sublime Text 3 хорошее сообщество, они прислушиваются ко всему конструктивному.

    Спасибо.
    Ответ написан
    5 комментариев
  • Goto symbol in project в Sublime Text?

    Проверяйте, вроде ничего не должно поломаться.

    1. Отображение классов, а не только их селекторов

    Чтобы в теге <div class="SashaClass"></div> Sublime Text 3 искал SashaClass.

    PreferencesBrowse Packages...User → создаём файл Symbol list - CSS.tmPreferences → вставляем в него следующий код и сохраняем.

    <?xml version="1.0" encoding="UTF-8"?>
    <plist version="1.0">
    <dict>
    	<key>name</key>
    	<string>Symbol List: Classes</string>
    	<key>scope</key>
    	<string>text.html meta.class-name.html</string>
    	<key>settings</key>
    	<dict>
    		<key>symbolIndexTransformation</key>
    		<string>s/^/Class: /</string>
    		<key>showInIndexedSymbolList</key>
    		<integer>1</integer>
    	</dict>
    </dict>
    </plist>


    2. Отображение тегов HTML

    Чтобы в теге <SashaTag></SashaTag> Sublime Text 3 искал SashaTag. PreferencesBrowse Packages...User → создаём файл Symbol list - Tags.tmPreferences → вставляем в него следующий код и сохраняем.

    <?xml version="1.0" encoding="UTF-8"?>
    <plist version="1.0">
    <dict>
    	<key>name</key>
    	<string>Symbol List: Tags</string>
    	<key>scope</key>
    	<string>text.html entity.name.tag</string>
    	<key>settings</key>
    	<dict>
    		<key>symbolIndexTransformation</key>
    		<string>s/^/Tag: /</string>
    		<key>showInIndexedSymbolList</key>
    		<integer>1</integer>
    	</dict>
    </dict>
    </plist>


    3. Отображение селекторов тегов HTML

    Чтобы в CSS

    SashaTag {
    	color: red;
    }

    Sublime Text 3 искал SashaTag.

    PreferencesBrowse Packages...User → создаём файл Symbol list - CSS.tmPreferences → вставляем в него следующий код и сохраняем.

    <?xml version="1.0" encoding="UTF-8"?>
    <plist version="1.0">
    <dict>
    	<key>name</key>
    	<string>Symbol List: CSS</string>
    	<key>scope</key>
    	<string>meta.selector.css</string>
    	<key>settings</key>
    	<dict>
    		<key>symbolIndexTransformation</key>
    		<string>s/^/CSS: /</string>
    		<key>showInIndexedSymbolList</key>
    		<integer>1</integer>
    	</dict>
    </dict>
    </plist>


    4. Отображение ID, а не только их селекторов

    Чтобы в теге <div id="SashaID"></div> Sublime Text 3 искал SashaID.

    PreferencesBrowse Packages...User → создаём файл Symbol list - ID.tmPreferences → вставляем в него следующий код и сохраняем.

    <?xml version="1.0" encoding="UTF-8"?>
    <plist version="1.0">
    <dict>
    	<key>name</key>
    	<string>Symbol List: ID</string>
    	<key>scope</key>
    	<string>text.html meta.toc-list.id.html</string>
    	<key>settings</key>
    	<dict>
    		<key>symbolIndexTransformation</key>
    		<string>s/^/ID: /</string>
    		<key>showInIndexedSymbolList</key>
    		<integer>1</integer>
    	</dict>
    </dict>
    </plist>


    Ctrl+Shift+R → результаты на скриншотах:

    LOPS08m.pngww0U1La.pngV0YRzYK.png

    Как видим, словами Tag: Classes: ID: и CSS: отделяются типы содержимого, мы можем выбираеть, надо ли нам элемент синтаксиса HTML или CSS.

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



    Любые символы и их сочетания по всему проекту через Ctrl+Shift+R найти не получится. Альтернатива:


    Поиск по проекту

    Ctrl+Shift+F → нажимаем на кнопку с тремя точками справа → выбираем папку проекта → затем жмём на кнопку Find, что выше кнопки с тремя точками → в отдельный файл выведутся варианты.

    NLGxnIe.png

    Спасибо.
    Ответ написан
    4 комментария
  • После обновления Sublime Text 3 не верно подсвечивает синтаксис html+php да и js. Кто как правит?

    (Пожалуйста, всегда прилагайте к скриншоту соответствующий ему кусок кода, чтобы отвечающим было легче помогать Вам.)

    Есть такое дело. я сам написал тему/цветовую схему: после обновления до Build 3114 поменялось множество областей видимости, и пришлось почти сутки убить, чтобы подстроиться под новые scopes.

    Что делать — писать разработчикам схемы. Вообще-то они сами должны побыстее подстравиваться, но если не реагируют, следует поторопить их. Гуглите название своей цветовой схемы, переходите к её репозиторию на GitHub (в редких случаях Bitbucket). Нажимаете на «Issues», где сообщаете о проблеме:

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

    Спасибо.
    Ответ написан
    Комментировать
  • Sublime новый синтаксис, как же добавить простое свойство?

    Это не «новый синтаксис», а новый формат файлов определения синтаксиса, который Вы, соответственно, никак не модифицируете. Документация, простейший пример создания собственного синтаксиса.

    Как видите, редактировать файлы синтаксисов довольно непросто, и лучше всего воспользоваться готовыми. Для SASS рекомендуют одноимённый плагин, если что-то в нём не нравится, следует попробовать написать разработчикам, а лучше сразу на англоязычный форум Sublime Text 3.

    Спасибо.
    Ответ написан
    Комментировать
  • Есть ли такой плагин для sublime?

    Плохо понятны Ваши намерения, попробую предположить, что необходима функциональность плагина Goto-CSS-Declaration:

    b5678ac3e17d32d1819d951eea2e13e57044d925
    Наводите каретку на id или class, жмёте горячие клавиши для своей операционной системы или правой кнопкой мыши по id или классу → Go To CSS Declaration → каретка переместится на соответствующий селектор.

    К сожалению, разработка плагина прекратилась, а недочёты остались:

    1. Goto-CSS-Declaration работает только с CSS, вынесенным в отдельный файл. Если CSS встроены в HTML-файл, переход на селекторы не осуществляется.
    2. CSS-файлы должны быть открытыми.

    Спасибо.
    Ответ написан
    Комментировать
  • Sublime Text и Git: как за'push'ить на удаленный рипозиторий?

    1. Команды git add .git commit -m "Your description"git push можно быстро ввести при помощи плагина EasyGit. FileEasygit (add/commit/push all changes) → вводите сообщение коммита → Enter.

    C8bpv32.png
    Иногда почему-то на удалённый репозиторий вносятся изменения только в одном файле, работая в котором Вы запустили EasyGit, а не во всех.

    2. Плагин Git. Подробный обзор на Хабрахабре. Ctrl+Shift+P набираем последовательно Git: Add AllGit: CommitGit: Push . После Git Commit откроется файл с именем COMMIT_EDITMSG, нужно будет ввести сообщение коммита на верхней строчке, а затем закрыть этот файл. Если ввести Git: Quick Commit → сообщение коммита → Git: Push, то на удалённый репозиторий внесутся только изменения в открытом на данную минуту файле.

    3. Glue — командная строка в Sublime Text 3. Как запустить — я написал здесь, там же ссылки на подробный обзор данного плагина. Поддерживаются любые команды системы управления версиями Git. С ним удобно работать, поскольку вывод осуществляется прямо в файл Sublime Text, а не оболочку терминала. Недостатки:

    1. В папке проекта создаётся файл terminal.glue, который заносится на удалённый репозиторий. Приходится либо заносить его в .gitignore или открывать Glue в другой папке и переходить в требуемую командой cd, а это лишние движения.
    2. Происходят глюки с переносом строк.
    3. При попытке закоммитить изменения, выводится такая ошибка, и ни одно из кучи решений не помогает.

    Именно пушить изменения при помощи Glue не порекомендовал бы.

    Спасибо.
    Ответ написан
  • Как изменить цвет колонки с номерами строк?

    Колонка с номерами строк в Sublime Text 3 называется gutter.

    Заходите в файл своей цветовой схемы с расширением .tmTheme. Если не знаете, как это сделать, см. здесь в первых двух абзацах после Простое решение. Далее где-нибудь в начале между <array><dict><key>settings</key<dict> и </dict></dict> находите 2 строчки (у Вас будет не red), если их нет, вписываете самостоятельно:

    <key>gutter</key>    
    <string>red</string>

    Вместо red подставляете цвет, какой Вам угодно. Лучше в HEX, а не X11 colors, поскольку в Sublime Text 3 могут некорректно отображаться как минимум цвета aqua, fuchsia и lime.

    Ждём, иногда требуется несколько минут, чтобы изменения вступили в силу. Бывает, помогает перезагрузка файлов или Sublime Text 3. Результат, когда, к примеру, задали цвет darkslategray.

    VqeuQtH.png
    Спасибо.
    Ответ написан
    Комментировать
  • Как открыть снипет gist прямо в код, а не в новой вкладке?

    Уважаемая топикстартер, видимо, ввела команду Open Gist, открывающую сниппеты в новой вкладке. Команда Insert Gist вставляет их туда, где располагается каретка.

    Спасибо.
    Ответ написан
    1 комментарий
  • Как добавить автоматический выбор синтаксиса под определенное расширение файлов?

    Да. Открываем любой документ с расширением .ex. ViewSyntaxOpen all with current extention as...C++. После этого ко всем файлам с расширением .ex будет применяться подсветка синтаксиса C++.

    Спасибо.
    Ответ написан
    Комментировать
  • Сохраняется ли история изменений файла в Sublime text?

    Кто лайкает такие ответы?

    Взглянем на вопрос с общих позиций:

    1. Sublime Text — продвинутый редактор, даже очень, и в нём, по идее, должны присутствовать все важные функции. Откат к предыдущим изменениям файла на мой взгляд к таковым относится.
    2. У программы большое сообщество, в общей сложности написано более 2500 плагинов.

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

    Он называется Local History. С установленным плагином после того, как Вы сохраняете любой файл в Sublime Text 3, создаётся копия файла в папке с Local History. Ещё раз сохранили этот же файл — создаётся новая копия, причём старая остаётся и не перезаписывается. Всегда момент можно вернуться к любой из прежних версий или же сравнить с ними нынешнее содержимое файла. Основные настройки: можно задать время хранения версий — я установил безлимит, — и путь к папке Local History.

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

    Спасибо.
    Ответ написан
    3 комментария
  • Sublime Text 3, автоматический выбор Build System?

    Можно задать горячие клавиши для тех builds (далее также «билдов» и т. п.), которыми пользуетесь.


    1. Собственные builds

    PreferencesKey Bindings - User. Если прежде не использовали собственные хоткеи, вставляем такой код:

    [{ "keys": ["ctrl+alt+b"], "command": "build", "args": {"build_system": "Packages/User/SashaIsMyIdol.sublime-build", "variant": "" }]

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

    [
    // Clickable URL — открыть URL, на которую наведён курсор
        { "keys": ["alt+enter"], "command": "open_url_under_cursor" },
    // Открыть PowerShell
        { "keys": ["ctrl+7, ctrl+t"], "command": "open_terminal" },
    // Наш Build
        { "keys": ["ctrl+alt+b"], "command": "build", "args": {"build_system": "Packages/User/SashaIsMyIdol.sublime-build", "variant": "" }
    ]

    keys — произвольный, но незанятый шорткат,
    build_system — путь к файлу Вашего билда с расширением .sublime-build, начиная с папки Packages.

    Нажимаем горячие клавиши, — в примере это Ctrl+Alt+B, → build должен запуститься.


    2. Builds по умолчанию

    Принцип тот же: задать горячие клавиши в файле Key Bindings - User. Нужно ещё узнать, где лежат файлы билдов.

    Положим, мы работаем с Ruby. Ctrl+Shift+PPackageResourceViewer: Open Resource (благодаря fuzzy-поиску достаточно ввести prv) → RubyRuby.sublime-build. В title страницы смотрим путь к файлу билда, его и вписываем:

    { "keys": ["ctrl+7, ctrl+b"], "command": "build", "args": {"build_system": "Packages/Ruby/Ruby.sublime-build", "variant": "" }},

    Аналогичным образом находим пути к builds для остальных языков программирования: для Python это Packages/Python/Python.sublime-build, у плюсов Packages/C++/C++ Single File.sublime-build.


    3. Альтернативный вариант

    Сначала у меня не срабатывал из-за опечатки автора книги Sublime Text Power User.

    Делаем так, чтобы когда у нас были открыты файлы для Python, например, с расширением .py, запускался бы Build Python, файлы для C++, например, с расширением .ex — соответственно, для C++. В файле вашего билда с расширением .sublime-build необходимо добавить параметр selector, значением которого будет являться общая для вашего языка разметки/программирования или инструмента программирования часть т. н. «области видимости» (scope). Как получить области видимости, подробно расписано тут. Нам нужно только то, что до первого пробела; допустим, если мы получили
    source.python meta.function.python entity.name.function.python
    , необходимо будет подставить только source.python . Пример билда для Python:

    {
        "cmd": ["python", "-u", "$file"],
        "file_regex": "^[ ]*File
    
    quot;(...*?)
    
    quot;, line ([0-9]*)",
        "selector": "source.python"
    }

    Для C++:

    {
    	    "cmd": ["g++", "$file", "-o", "$file_base_name", "-I/usr/local/include"],
    	    "selector": "source.c++",
    	    "windows": {
    	       "cmd": ["cl", "/Fo${file_path}", "/O2", "$file"]
    	    }
    	}


    Спасибо.
    Ответ написан
    Комментировать
  • Как задать дефолтный синтаксис для новой вкладки Sublime Text 3. Или разрешить использовать сниппеты Emmet'a для синтаксиса Plain Text?

    1. Создание собственного плагина

    PreferencesBrowse Packages... → в папке User создаём файл default_syntax.pyсо следующим содержимым:

    import sublime, sublime_plugin
    class DefaultSyntaxCommand(sublime_plugin.EventListener):
    	def on_new(self, view):
    		view.set_syntax_file('Packages/HTML/HTML.tmLanguage')

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

    2. Apply Syntax

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

    Скачиваем ApplySyntax → перезагружаем на всякий случай Sublime Text → PreferencesPackage SettingsApplySyntaxSettings - User → задаём параметру “new_file_syntax”: вместо false значение — путь к файлу синтаксиса без расширения, для HTML это HTML/HTML. В итоге строка будет выглядеть так:

    "new_file_syntax": "HTML/HTML",

    Сохраняем файл, отныне все новые файлы должны открываться в синтаксисе HTML.

    3. AutoSetSyntax

    Демонстрация

    Пример, когда синтаксис автоматически определяется как Python, ежели мы начинаем новый файл со слова import.

    IFizGku.gif
    Установка и настройка

    Скачиваем плагин AutoSetSyntax через Package ControlPreferencesPackage SettingsApplySyntaxSettings - User → в открывшийся файл вставляем следующий код:

    "syntax_mapping": {
        "Packages/Python/Python.sublime-syntax": ["import"],
    },

    Не путайтесь в JSON-синтаксисе, следите за правильной расстановкой кавычек, скобок и запятых. Например, мой файл AutoSetSyntax.sublime-settings выглядит следующим образом:

    {
        "syntax_mapping": {
            "ANSIescape/ANSI.tmLanguage": ["^\\s*\\[SideBarGit@.*\\] git l\\b"],
            "Packages/PHP/PHP.sublime-syntax": ["<\\?php", "<\\?="],
            "Packages/Python/Python.sublime-syntax": ["import"],
        },
        "working_scope": "(?x)^(text.plain | source.diff)\\b"
    }

    Сохраняем файл → после введения инструкции import синтаксис нового файла должен определиться как Python.

    Что означает написанное
    • syntax_mapping — переопределяет синтаксис, если будет введено определённое сочетание
    • Packages/Python/Python.sublime-syntax — путь к файлу синтаксиса, начиная с Packages,
    • import — текст, после введения которого переопределяется синтаксис. Допускается задавать в данном значении не только обычный текст, но и регулярные выражения. Например, значение для PHP — ["<\\?php",]. Обратите внимание, что слэш, экранирующий метасимвол вопросительного знака, необходимо тоже экранировать.

    4. Дополнительные ссылки

    API Sublime Text 3,
    Документация плагина ApplySyntax,
    Настройка автоматического определения синтаксиса д...,
    В Sublime Text 3 не работает подсветка Babel скрип...,

    Спасибо.
    Ответ написан
    4 комментария
  • Как запилить свою цветовую схему для ST3?

    1. Как сменить фон?

    Открываем файл своей цветовой схемы с расширением tmTheme. Если не знаете, какая у Вас стоит схема, PreferencesSettings - User , напротив "color_scheme": будет имя Вашей схемы и путь к ней. В файле схемы находим следующие строки, должны быть почти в самом начале (между <string></string>, скорее всего, содержится другое значение):

    <key>background</key>   
    <string>#ffdab9</string>

    Вписываем свой цвет между тегами <string></string> в HEX → фон должен стать другим. С момента внесения изменений может пройти несколько минут, иногда помогает перезагрузка Sublime Text 3.


    2. Как быстро сделать свою цветовую схему?

    Быстро вряд ли получится, придётся разбираться с множеством параметров. Возможно, помогут мои инструкции по Sublime Text 3, многие из них касаются цветовых схем. Обращаю внимание на статью «Смена визуальных характеристик готового синтаксиса...».


    Спасибо.
    Ответ написан
    Комментировать