Пользователь
0,0
рейтинг
24 января 2013 в 20:02

Разработка → Превращаем Sublime Text 2 в Notepad++



Сейчас огромную популярность набирает текстовой редактор Sublime Text 2. Я же в давние времена перешел на Notepad++ и много лет им активно пользовался, радуясь и восхищаясь. И когда стали появляться слухи, что Sublime теснит Notepad++, то решил проверить и попробовать на него перейти. Но, к сожалению, обнаружил, что много фишек, которым мне так нравился Notepad++ (не все идут в исходных настройках) я не вижу, несмотря на обилие новых других интересных возможностей. И было решено попробовать настроить Sublime так, чтобы им можно было пользоваться также, как и Notepad++ (с плагинами), имея попутно возможности Sublime Text 2, коих нет в первом редакторе. И да, Sublime Text 2 настраивался в Windows 7.

Введение



Данная статья показывает, какие особенности можно повторить, а какие еще ищут своего решения. Предполагается, что базовые настройки Sublime Вы уже провели:
  • Русский язык корректно отображается;
  • Менеджер пакетов установлен.

Итак, пойдем по порядку тех возможностей и деталей, которые мы можем переделать и настроить в Sublime Text 2.

Внешний вид



Цветовая схема Sublime Text 2 по умолчанию непривычна для пользователей Notepad++, да и сам шрифт «не такой» после многолетней работы.



Danny Connell предложил решение (далее почти дословно его слова). Качаем файл Notepad++.zip.
  • Переходим в папку цветовых схем. В Windows 7 она находится по адресу: C:\Users\[your username]\AppData\Roaming\Sublime Text 2\Packages\Color Scheme — Default или по другому %appdata%/Sublime Text 2/Packages/Color Scheme — Default или PreferencesBrowse Packages, а оттуда в папку Color Scheme — Default. И копируем содержимое архива в эту папку.
  • В программе идем по меню PreferencesColor SchemeNotepad++.
  • Изменим шрифт и другие настройки. Для этого идем PreferencesSettings — User.
  • Добавляем нижеприведенный текст и сохраняем Ctrl+S.

	"font_face": "Courier New",
	"highlight_line": true,
	"line_padding_bottom": 1,
	"line_padding_top": 1

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

{
	"color_scheme": "Packages/Color Scheme - Default/Notepad++.tmTheme",
	"font_face": "Courier New",
	"highlight_line": true,
	"line_padding_bottom": 1,
	"line_padding_top": 1
}

В итоге, Sublime выглядит гораздо привычнее:



И можно включить постоянный перенос строки строк (но это по желанию). Идем PreferencesSettings — Default, находим строчку:

"word_wrap": "auto",

и слово auto заменяем на true.

Контекстное меню



Разочаровало отсутствие в Windows контекстного меню открытия любого файла, как в Notepad++:



Как оказалось, при установке Sublime Text 2 нужно отметить галочку:



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



Сортировка строк



F9 и Ctrl+F9 (по чувствительности к регистру отличаются) — позволяет отсортировать выделенные строки в алфавитном порядке (в Notepad++ этим занимается плагин TextFX). Но не позволяет отсортировать корректно числа в строках, так как строки воспринимаются как строки, а не как числа. То есть строки:

5
1
10

будут отсортированы как:

1
10
5

В Notepad++ есть для этого плагин NppColumnSort. Как быть тут? Нашел способ, как поменять основную функцию сортировки. Но в Notepad++ плагины TextFX и NppColumnSort реализуют две разные функции, а в Sublime нам нужно либо одной, либо другой пользоваться. Что делаем? Пишем дополнительный плагин, заодно и потренируемся.

ToolsNew Plugin... и создается заготовка для нашего плагина. Плагин я переделывал из плагина обычной сортировки %appdata%/Sublime Text 2/Packages/Default/sort.py. Заменяем код заготовки на такой:

import sublime, sublime_plugin
import re

# Uglyness needed until SelectionRegions will happily compare themselves
def srcmp(a, b):
    aa = a.begin();
    ba = b.begin();

    if aa < ba:
        return -1;
    elif aa == ba:
        return cmp(a.end(), b.end())
    else:
        return 1;

def case_insensitive_sort(txt):
#   txt.sort(lambda a, b: cmp(a.lower(), b.lower()))
#   return txt
    convert = lambda text: int(text) if text.isdigit() else text.lower()
    alphanum_key = lambda key: [ convert(c) for c in re.split('([0-9.,]+)', key) ]
    return sorted(txt, key=alphanum_key)

def case_sensitive_sort(txt):
#   txt.sort(lambda a, b: cmp(a, b))
#   return txt
    convert = lambda text: int(text) if text.isdigit() else text
    alphanum_key = lambda key: [ convert(c) for c in re.split('([0-9.,]+)', key) ]
    return sorted(txt, key=alphanum_key)

def shrink_wrap_region( view, region ):
    a, b = region.begin(), region.end()

    for a in xrange(a, b):
        if not view.substr(a).isspace():
            break

    for b in xrange(b-1, a, -1):
        if not view.substr(b).isspace():
            b += 1
            break

    return sublime.Region(a, b)

def shrinkwrap_and_expand_non_empty_selections_to_entire_line(v):
    sw = shrink_wrap_region
    regions = []

    for sel in v.sel():
        if not sel.empty():
            regions.append(v.line(sw(v, v.line(sel))))
            v.sel().subtract(sel)

    for r in regions:
        v.sel().add(r)

def permute_lines(f, v, e):
    shrinkwrap_and_expand_non_empty_selections_to_entire_line(v)

    regions = [s for s in v.sel() if not s.empty()]
    if not regions:
        regions = [sublime.Region(0, v.size())]

    regions.sort(srcmp, reverse=True)

    for r in regions:
        txt = v.substr(r)
        lines = txt.splitlines()
        lines = f(lines)

        v.replace(e, r, u"\n".join(lines))

class SortLinesNumericCommand(sublime_plugin.TextCommand):
    def run(self, edit, case_sensitive=False,
                        reverse=False,
                        remove_duplicates=False):
        view = self.view

        if case_sensitive:
            permute_lines(case_sensitive_sort, view, edit)
        else:
            permute_lines(case_insensitive_sort, view, edit)

        if reverse:
            permute_lines(reverse_list, view, edit)

        if remove_duplicates:
            permute_lines(uniquealise_list, view, edit)

Здесь убраны все ненужные функции, а изменение претерпели функции case_insensitive_sort и case_sensitive_sort (в закомментированном виде оригинальный текст функций). Сама непосредственно команда, которая реализовывается в классе:

class SortLinesNumericCommand(sublime_plugin.TextCommand):

Поэтому название класса должно быть отличным от названий других команд Sublime. Было SortLinesCommand стало SortLinesNumericCommand (в конце должно быть часть Command). А как будет называться команда в настройках Sublime? Может для Питона это обычно (или это фишка Sublime?), но я в нем почти не работал, и для меня это было малость неочевидно. Итак, берем название класса SortLinesNumericCommand, откидываем часть Command, а в полученной части всё приводим к малому регистру, но перед буквами, что были заглавными, кроме первой, ставим нижнее подчеркивание. То есть команда теперь в Sublime будет называться sort_lines_numeric.

Сохраняем данный файл в папке %appdata%/Sublime Text 2/Packages/, например, под именем SortLinesNumeric.py. Теперь у нас данный плагин уже загружен в Sublime, и по сути мы можем вызывать его функции.

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

Итак, плагин с функцией сортировку у нас написан. Теперь назначим функции sort_lines_numeric горячие клавиши и затащим ее в контекстное меню. Открываем файл %appdata%/Sublime Text 2/Packages/Default/Default (Windows).sublime-keymap (в соответствии с Вашей операционкой). найдите там строчку:

{ "keys": ["ctrl+f9"], "command": "sort_lines", "args": {"case_sensitive": true} },

По аналогии с ней добавим строчку нашей команды:

{ "keys": ["ctrl+shift+f9"], "command": "sort_lines_numeric", "args": {"case_sensitive": true} },

Теперь выделенный текст при нажатии ctrl + shift + f9 отсортируется с учетом того, что там могут быть числа.

Открываем файл %appdata%/Sublime Text 2/Packages/Default/Context.sublime-menu. Здесь собраны команды для контекстного меню. Добавляем нашу команду и получаем такой файл (я еще добавил пустую строчку, чтобы отделить пользовательские команды):

[
    { "command": "copy" },
    { "command": "cut" },
    { "command": "paste" },
    { "caption": "-", "id": "selection" },
    { "command": "select_all" },
    { "caption": "-", "id": "file" },
    { "command": "open_in_browser", "caption": "Open in Browser" },
    { "command": "open_dir", "args": {"dir": "$file_path", "file": "$file_name"}, "caption": "Open Containing Folder…" },
    { "command": "copy_path", "caption": "Copy File Path" },
    { "command": "reveal_in_side_bar", "caption": "Reveal in Side Bar" },
    { "caption": "-", "id": "usercommand" },
    { "command": "sort_lines_numeric", "caption": "Сортировка с учетом чисел" },
    { "caption": "-", "id": "end" }
]

Теперь у нас появилась в контекстном меню нужная нам функция. Аналогично можно добавить любые другие команды.



Пример работы плагина:

Текст
Кот
5
50
Вот так
1
10
10005
7

сортируется так:

1
5
7
10
50
10005
Вот так
Кот
Текст


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



В Notepad++ проверка осуществляется через Aspell, правда подчеркивание слов с ошибками там нет. Был один плагин, но он не работает с последними версиями программы. В Sublime проверка орфографии встроена, но нет русского словаря. Используется чуть отредактированный способ Comphobby.ru.

Идем на сайт http://extensions.services.openoffice.org/en/dictionaries. Так скачиваем какой-нибудь русский словарь. Я выбрал Русский орфографический словарь (АОТ е+ё). Russian spellcheck dict (ieyo). Based on works of AOT.ru.

Если файл имеет расширение не zip, то переименовываем и меняем на zip.

Можете скачать здесь: dict_ru_RU-AOT-0.2.7-ieyo.

Из архива вытягиваем два файла с расширениями .aff и .dic. У меня это файлы russian-aot-ieyo.aff и russian-aot-ieyo.dic. И кидаем файлы в папку с плагинами %appdata%/Sublime Text 2/Packages/.

Теперь открываем эти файлы в Sublime. Проверьте, чтобы там были нормальные русские слова, а не русские произвольные наборы букв, что означает неверную кодировку. И если в файле с раcширением .aff первой строчкой идет:

SET KOI8-R

то, значит кодировка KOI8-R. А нам нужно сохранить в UTF-8.

Для обоих файлов идем FileReopen with EncodingCyrillic (KOI8-R). Теперь в файлах должны появиться осмысленные слова маленькими буквами. И далее идем FileSave with EncodingUTF-8 и сохраняем Ctrl+S.

И в файле с раcширением .aff первую строчку меняем на:

SET UTF-8

Теперь выбираем наш словарь ViewDictionary[наш словарь] и включаем режим проверки орфографии F6:



Теперь все наши ошибки подсвечены:


Я также с помощью утилиты http://habrahabr.ru/post/158441/ собрал из словаря Firefox более объемный словарь: russian_english.

Это уже готовые .aff и .dic файлы. Просто копируем их в папку с плагинами и в меню выбираем словарь. В этом словаре нет проблем с заглавными буквами. Плюс это русско-английский словарь.



Если кто сможет подсказать более совершенный англо-русский словарь — буду рад.

Но есть проблема: словарь не предлагает вариантов для замены (в отличие от Notepad++). Кто сможет — предложите варианты решения. Так что получается, что Notepad++ предлагает варианты исправления ошибок, но их не подчеркивает, а Sublime Text 2 подчеркивает, но варианты исправления не дает.

Открытие новых вкладок



Sublime Text 2 всегда открывает документ в новой вкладке, как следующую после текущей. Данная его особенность просто бесит после нормальной реализации в Notepad++: файл открывается в новой вкладке в самом конце вкладок. Хотя думаю, что приверженцев идеологии Sublime тоже найдется не мало. Но если не нравится, то вот способ.

Скачиваем плагин https://github.com/stylishmedia/SublimeText-Tabright.

Файл Tabright.py копируем в папку плагинов %appdata%/Sublime Text 2/Packages. Теперь файлы будут открываться в нужной вкладке.



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

Говорят также, что в последней dev версии плагин не работает. Не знаю — не проверял.

История буфера обмена



В Notepad++ для этого есть функция Clipboard History: ПравкаПанель истории файлов:



Для Sublime Text 2 нужно установить плагин с аналогичным названием Clipboard History. Качаем его с https://github.com/kemayo/sublime-text-2-clipboard-history.

Копируем папку с распакованным плагином в папку с плагинами %appdata%/Sublime Text 2/Packages. Теперь при нажатии Ctrl + Alt + V откроется окно буфера обмена:



В отличие от Notepad++ есть поиск по буферу обмена. Но есть и серьезный недостаток: в историю буфера обмена копируется только текст, который копировался внутри Sublime. В Notepad++ в истории буфера сохраняется текст из всех программ, что часто бывает очень удобным. И панель в Sublime не может быть постоянной как в Notepad++, что также не гуд, когда нужно постоянно вставлять некоторые варианты небольших кусков кода. Или работа со снипетами может решить эту проблему?

Помеченные строки (Bookmarks)



В Notepad++ строки помечаются кликанием слева около строки:



В Sublime Text 2 для этого приходится использовать комбинацию клавиш Ctrl + F2 (по ней же и снимается). А хотелось бы всё-таки делать это визуально мышью. И сами отметки слабо отмечаются глазами (а они же отметки!).



Чтобы немного облегчить жизнь в файл %appdata%/Sublime Text 2/Packages/Default/Context.sublime-menu добавляем строчку:

{ "command": "toggle_bookmark", "caption": "Отметить строку" },

И в контекстном меню появится соответствующая команда.

Переход же от отметки к отметке производится аналогично, как и в Notepad++, через клавишу F2 (Shift + F2 в обратную сторону).

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



В Sublime имеется «умный» поиск по Ctrl + P, но хоть он удобен, но всё равно не выполняет полные функции поиска (или выполняет?) — задачи у «умного» поиска несколько другие. Рассмотрим решение стандартных задач поиска и замены в двух редакторах (мне вначале в Sublime всё не было интуитивно понятно).

В обоих редакторах панель поиска, как и положено во всех программах, вызывается через Ctrl + F.

Маленькое отступление. А как закрыть-то панель поиска у Sublime? Обратно по Ctrl + F не закрывается, крестика нет. Оказалось, что Esc выполняет эту функцию. С одной стороны очень понятно и просто, с другой — сообразить без гугла у меня не получилось.

На рисунке показаны соответствия команд панели поиска.



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

Функция: «Найти всё во всех открытых документах».

В Notepad++ эта замечательная функция выглядит так:



В Sublime нажимаете Ctrl + Shift + F. Вам выйдет следующее окошко:



В поле Find пишите требуемый текст и нажимаете Find. По умолчанию поиск производится по всем отрытым папкам и файлам, но в разделе Where вы можете указать некоторые фильтры. В результате в новой вкладке откроются результаты поиска:



При двойном щелчке по выделенным фрагментам Вы переместитесь на нужный Вам файл и место. Но постоянно переключаться между вкладкой результатов поиска и вкладками документов неудобно. В Notepad++ же панель результатов поиска расположена внизу. Нажимаем Shift + Alt + 8 (разбиваем экран на верхнюю и нижнюю половину) и перетаскиваем туда нашу вкладку с результатами поиска. Панель вкладок только слишком большая для второго окна. Уменьшить бы ее.



Единственно, что если вы работает и так с разделением окна на две или более частей, то будет не очень удобно.

Также в этой панели реализована функция замены по всем открытым файлам.

Функция: «Заменить».

При нажатии на Ctrl + H — откроется панель замены в текущем документе:



Тут всё понятно, но маленькая ремарка. Уже три комбинации горячих клавиш на три разные панели поиска и замены! А если добавить и «умный» поиск, то и все четыре! В Notepad же всё реализовано в одной панели — ничего искать и запоминать не нужно.

Функция: «Найти всё в текущем документе».

В Notepad++ эта замечательная функция выглядит так:



В Sublime в панели обычного поиска есть кнопка Find All, но он только выделяет все найденные результаты. Поэтому, чтобы хоть как-то повторить реализацию в Notepad++, приходится использовать функцию поиска по всем открытым файлам, и в разделе Where вводить имя файла, в котором производится поиск. А если название длинное? Неудобно. Также, если открыто несколько файлов с одинаковым именем (по разным папкам раскиданы), то поиск будет проведен по всем таким одноименным файлам.

Функция: «Подсчитать».

В Notepad++ всё просто:



Почти в финальной редакции этой статьи было написано, что не смог найти решение в Sublime. Оказывается, всё банально просто:



Функция: «Найти в файлах».

В Notepad++ есть соответствующая вкладка:



В Sublime при расширенном поиске Ctrl + Shift + F при нажатии кнопки ... есть возможность добавление папки.



И еще одна проблема, общая для всех поисков в Sublime. Я не нашел истории поисковых запросов. В Notepad++ есть выпадающее меню, а тут ничего такого.

Подсвечивание скобок



Notepad++ при попадании курсора на скобку подсвечивает их ярким цветом:



В Sublime же есть лишь небольшое малозаметное подчеркивание:



Можно исправить ситуацию плагином BracketHighlighter. Установим его через Package Control. Идем PreferencesPackage Control, начинаем набирать Install Packages:



И в появившемся окне вводим имя плагина и по нему щелкаем:



Плагин установился. Перезапускаем Sublime и видим, что стало получше:



Кто-нибудь знает, как сделать при работе плагина BracketHighlighter с белым фоном, но красным цветом текста при выделении скобок? И как подсвечивать не только скобки, но и теги?

Копирование имени файла



В Notepad++ я постоянно пользуюсь удобной функцией копирования имени файла, пути к нему и полное имя файла по клику правой кнопкой по вкладке файла:



А что предлагает Sublime? У него есть только одна функция copy_path не в контекстном меню вкладки, а в контекстном меню самого тела файла. Что не есть удобно. Итак, открываем файл %appdata%/Sublime Text 2/Packages/Default/copy_path.py и меняем его содержимое на следующее (не бойтесь, основная функция будет нетронута):

import sublime, sublime_plugin
import os.path

class CopyPathCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        if len(self.view.file_name()) > 0:
            sublime.set_clipboard(self.view.file_name())
            sublime.status_message("Copied full file path")

    def is_enabled(self):
        return self.view.file_name() and len(self.view.file_name()) > 0

class CopyFileNameCommand(sublime_plugin.TextCommand):
    def run(self, edit):
    	full_name = self.view.file_name()
    	folder_name, file_name = os.path.split(full_name)
        if len(self.view.file_name()) > 0:
            sublime.set_clipboard(file_name)

            sublime.status_message("Copied file name")

class CopyPathOfFileCommand(sublime_plugin.TextCommand):
    def run(self, edit):
    	full_name = self.view.file_name()
    	folder_name, file_name = os.path.split(full_name)
        if len(self.view.file_name()) > 0:
            sublime.set_clipboard(folder_name)

            sublime.status_message("Copied path of file")


Тем самым мы ввели две команды copy_file_name и copy_path_of_file. Открываем файл %appdata%/Sublime Text 2/Packages/Default/Tab Context.sublime-menu и добавляем строчки (не забывайте о правильной расстановке запятых), сохраняем:

	{ "command": "copy_path", "caption": "Полный путь к файлу" },
	{ "command": "copy_file_name", "caption": "Имя файла" },
	{ "command": "copy_path_of_file", "caption": "Путь к директории файла" }

Теперь при нажатии на правую кнопку по вкладке у нас в меню будут три наших функции, которые в буфер обмена копируют нужные нам тексты:



Печать



Notepad++ умеет печатать (причем с подсветкой кода). И это даже не его преимущество — это свойство почти всех нормальных программ. И было удивительно не увидеть этой функции у Sublime. Что делать? По сути адекватного решения пока нет. Можно скопировать код в другой редактор и распечатать, но тогда теряется вся прелесть, и исчезает вся подсветка кода. В общем нехорошо. Можно воспользоваться одним костылем в виде одного плагина. Итак, открываем панель команд CTRL + Shift + P, пишем Install package, пишем название плагина Print to HTML и устанавливаем его:



В итоге в меню File появляются два пункта:



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



При выборе второго пункта меню откроется текст этой самой html страницы. Может кому и пригодится.

Сравнение файлов



Часто требуется сравнить два файла. Например, найти измененную строчку в двух почти одинаковых файлах. В Notepad++ за это отвечает плагин Compare:



В Sublime для этого нужен плагин FileDiffs. Итак, открываем панель команд CTRL + Shift + P, пишем Install package, пишем название плагина FileDiffs и устанавливаем его.

Открываем два наших файла в двух подряд вкладках. Жмем правой кнопкой по первой вкладке:



И там выбираем Diff with Tab. В результате чего нам показывают результат работы сравнения:



Знаками + и — показываются строки сравниваемых файлов. Конечно, с точки зрения юзабилити такой подход гораздо проигрывает более стандартному варианту из Notepad++, но это хоть что-то.

А ниже несколько проблем, решение которых я вообще не нашел. Заменить даже не чем, что сильно меня печалит.

Выделение определенного текста



В Notepad++ можно выделить конкретный текст (как будто маркером провели):





Как быть в Sublime? Я пока не нашел решения.

Синхронизация вертикальной прокрутки



Еще одна важная для меня функция, которую не нашел в Sublime. Когда имеется два файла одного типа часто требуется просмотреть их синхронно. В Notepad++ все реализовано:



А что с Sublime? Кто-нибудь знает решение?

Фолдинг



Это одна из главных претензий к Sublime Text 2. Я даже в отдельный блок выделил, а не в конечный список нерешенных проблем выделил. Он сворачивает блоки кода только, когда они правильно оформлены отступами. Но не всегда же это так! К тому же разные программисты по-разному оформляют табуляцию. В общем очень некрасиво получается, когда половина div или функций не сворачивается. В Notepad++ всё сворачивается вне зависимости от отступов. Решений я пока не нашел.





Соответствие команд



Ниже приводится соответствие некоторых команд, которыми часто пользуюсь, в Notepad++ и Sublime Text 2, если они вызываются разными методами:

Дублирование участка кода.
  • Notepad++: CTRL + D.
  • Sublime Text 2: Ctrl + Shift + D.

Перекодирование файла.
  • Notepad++: КодировкиПреобразовать в ....
  • Sublime Text 2: FileSave with Encoding....

Открыть файл в другой кодировке.
  • Notepad++: КодировкиКодировать в ....
  • Sublime Text 2: FileReopen with Encoding....


Комментирование кода.
  • Notepad++ I вариант: Клик правой кнопки мышиВкл./Выкл. Комментарий строки (раскомментировать аналогично).
  • Notepad++ II вариант: Клик правой кнопки мышиЗакомментировать выделенное (раскомментировать автоматически нельзя).
  • Sublime Text 2 I вариант: Ctrl/ (раскомментировать аналогично).
  • Sublime Text 2 II вариант: В файл %appdata%/Sublime Text 2/Packages/Default/Context.sublime-menu добавляем строчку:

    { "command": "toggle_comment", "caption": "Закомментировать" },


Поменять регистр букв на большие буквы.
  • Notepad++: Клик правой кнопки мышиПРОПИСНЫЕ.
  • Sublime Text 2 I вариант: CtrlK, а потом CtrlU (я не понимаю, зачем это было делать на два клавиатурных сочетания).
  • Sublime Text 2 II вариант: В файл %appdata%/Sublime Text 2/Packages/Default/Context.sublime-menu добавляем строчку:

    { "command": "upper_case", "caption": "ПРОПИСНЫМИ" },


Поменять регистр букв на маленькие буквы.
  • Notepad++: Клик правой кнопки мышистрочные.
  • Sublime Text 2 I вариант: CtrlK, а потом Ctrll.
  • Sublime Text 2 II вариант: В файл %appdata%/Sublime Text 2/Packages/Default/Context.sublime-menu добавляем строчку:

    { "command": "lower_case", "caption": "строчными" },


Разделить окно на две части.
  • Notepad++: ВидОперации с документомПереместить в другое окно.
  • Sublime Text 2 I вариант: ViewLayoutColums: 2.
  • Sublime Text 2 II вариант: В файл %appdata%/Sublime Text 2/Packages/Default/Tab Context.sublime-menu добавляем строчку (не забывайте о правильной расстановке запятых):

    { "command": "set_layout","args":{"cols": [0.0, 0.5, 1.0],"rows": [0.0, 1.0],"cells": [[0, 0, 1, 1], [1, 0, 2, 1]]}, "caption": "Создать второе окно" }


Выбор подсветки синтаксиса.
  • Notepad++: Ситаксис....
  • Sublime Text 2: ViewSyntax....


Перейти к соответствующей скобке (закрывающейся или открывающейся).
  • Notepad++: Ctrl + B.
  • Sublime Text 2 I вариант: GotoJump to Matching Bracket.
    Sublime Text 2 II вариант: Ctrl + M.


Некоторые числовые опыты



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

В одном опыте я открывал текстовой файл размером 177 Мб (в обеих программах был включен перенос, а потом отключен). Notepad++ открывал его 3 секунды, а Sublime Text 2 за 90 секунд. При этом Notepad++ даже не собирался показывать признаки медленной работы, а вот Sublime начал заметно притормаживать. После этого решил провести поиск фрагмента, который встречался в тексте где-то 42000 раз. Notepad++ потратил 10 секунд, а Sublime — 22, и при этом не отвечал ни на что.

В другом опыте я решил открыть 1136 файлов общим объемом 20Мб. Sublime открыл за 50 секунд, а Notepad++ за 45 секунд. Так что здесь оба показали одинаково себя. После нужно было найти в открытых файлах количество слова «table». Notepad++ справился за 3 секунды, а вот Sublime справился почти мгновенно? чем очень приятно удивил.

Выводы делайте сами по этим опытам.

Нерешенные проблемы и вопросы



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

  • Есть более полный англо-русский словарь в виде .dic и .aff файлов?
  • При проверке орфографии не предлагаются варианты исправления русских слов.
  • Нет возможности добавлять в словарь новые слова.
  • Работает ли плагин Tabright в последней dev версии Sublime Text 2? Upd. Нет. (singlewolf)
  • При закрытии вкладки до последней при использовании плагина Tabright программа вылетает.
  • Как по нормальному открывать вкладки, чтобы при открытии файла вкладка появлялась в конце вкладок?
  • Плагин Clipboard History не сохраняет буфер обмена других программ.
  • Панель Clipboard History нельзя зафиксировать на постоянной основе.
  • Можно ли ставить пометки Bookmarks без горячих клавиш?
  • Можно ли ставить пометки Bookmarks сделать более заметными? Upd. Отредактируйте Sublime Text 2\Packages\Theme — Default\bookmark.png (singlewolf)
  • Нельзя все поиски свести в одну панель.
  • Как найти текст и вывести список найденных мест не во всех файлах, а только в одном (без ввода имени файла, без одноименных файлов)?
  • Нельзя результаты поиска по всем файлам выводить не в отдельной вкладке. Upd. отщелкните кнопку «use buffer» (sebres)
  • Нет истории поисковых запросов в панелях поисков и замен. Upd. Просто в поле ввода запроса нажимайте клавишу Вверх или Вниз. (akzhan)
  • Сворачивает код (фолдинг) только с правильными отступами (одна из главных проблем).
  • Кто-нибудь знает, как сделать при работе этого плагина BracketHighlighter с белым фоном, но красным цветом текста при выделении скобок?
  • И как подсвечивать не только скобки, но и теги? Upd. В файле \Sublime Text 2\Packages\BracketHighlighter\BracketHighlighter.sublime-settings нужно, чтобы строчка была «tag_enable»: true,
  • Нет функции печати в самой программе (только через использование браузера).
  • Как можно выделять конкретный текст как маркером на бумаге?
  • Есть нормальный способ сравнения файлов, как это обычно делают в соответствующих программах?
  • Как вертикальной прокруткой синхронизировать два файла? Upd. github.com/terminalbell/SublimeSynchroScroll (Helsus)


Желательно все настройки Sublime делать в настройках для пользователя, чтобы потом можно было быстро перенести

Скорее всего, есть еще множество неучтенных взаимных моментов, но пока закончу.

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

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

P.S. И выскажу немного «кощунственную» мысль (возможно, что она не верна). Sublime Text 2 набирает обороты и становится популярным, потому что вариант «из коробки» малопригоден для работы (как минимум надо настроить кодировку для русского языка, изучить горячие клавиши). И этот факт заставляет людей настраивать редактор, а, следовательно, изучать его возможности. Notepad++ «из коробки» гораздо более работоспособный, и пользователь может вообще ничего не изменять, не настраивать и прекрасно работать. У него нет необходимости лезть в дебри и изучать возможные дополнительные настройки (про разницу во времени создания программ я знаю).

P.P.S. Пара моментов об использовании этих программ. Каждый использует эти редакторы по-разному, поэтому важно вначале сказать о некоторых особых моментах. Я не любитель горячих клавиш. Запоминать десятки комбинаций в десятках программ для меня тяжело. Особенно когда голова забита проектом, а нужно вспоминать, а какие клавиши тут надо нажать. Использую редакторы не только для написания кода. Не являюсь чистым кодировщиком, поэтому мыслю над проектом много больше, чем кодирую. Поэтому ускорители написания кода мне не нужны. И у меня мало повторяющегося кода.

P.P.P.S. Некоторые возможности Sublime Text 2 считаются фишками данного редактора. Однако многие из них находятся и в Notepad++: множественное выделение, вертикальное выделение, миникарта (правда она реализована менее удобно), работа с проектами и др.

Upd. Спасибо пользователям jekakmail, leventov, WAYS за найденные ошибки.

Upd. Ввиду того, что в комментариях неоднократно спрашивают один вопрос: «Зачем ты это делал? Выбери просто один инструмент и пользуйся», отвечаю на него тут.

Я не превращал один продукт в другой. Что было сделано?

1. Поменял для привычки внешний вид. Кто не хочет — пусть не делает.
2. Нашел соответствие функциям в одном и другом редакторе. Для чего? Решил человек перейти на Sublime (ну, жутко ему понравились сниппеты или внешний вид), но никак не может найти привычной функции для перехода к закрывающей кавычке или поиск по открытым файлам. Абсолютно логичное желание.
3. Добавлены некоторые плагины, дополняющие недостающий функционал.
Всё!

Почему я не выберу один инструмент? А почему тогда в Windows, разных дистрибутивах Linux, Mac — почему они постоянно копируют в том или ином виде новшества и идеи?

Меня не полностью устраивает Notepad++, поэтому я в поисках альтернатив. Но я хочу в новом каком-либо инструменте всё то, к чему я привык в Notepad++. С точки зрения оптимизации я хочу найти инструмент, который будет по всем критериям не хуже, чем Notepad++, а по некоторым лучше.
Сергиенко Антон @Harrix
карма
43,0
рейтинг 0,0
Пользователь
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (269)

  • +19
    Могут меня конечно и заминусовать, но все-таки спрошу (т.к. самому изучать все примудрости данного редактора некогда особо). Чем же вышепреведенный продукт лучше (какие особенности полезные и особо нужные) по сравнению с np++? Был бы рад, если бы уважаемые хабровчане поделились тем, что используют в ST2 и что реально ускоряет процесс, чего нет в NP++.
    Или же все дело во вкусах?
    • +7
      Параллельное редактирование нескольких участков кода.
      • 0
        Это делением основного окна? В np++ такого нет?
      • +3
        Если множественное выделение по Ctrl, то оно есть в Notepad++, но не включено по умолчанию: Опции → Настройки → Правка и там галочка около мультиредактирования.
        • +2
          После этого выделения также происходит редактирование всех выделенных участков.
          • +2
            Спасибо, что подсказали про наличие этой функции. Очень не хватало и не мог найти. Может из-за старой версии. У меня стояла 5.9.8. Обновился и теперь рад.
          • +1
            В npp есть возможность при таком множественном редактировании перемещаться по строкам синхронно? Например на слово вперед/назад, выделять слова.
            Не нашел как это сделать. Без подобного функционала это довольно бесполезно.
            • +1
              Этого к сожалению вроде нет.
            • 0
              Есть, только что проверил.
              • +1
                как? у меня при нажатии стрелочек все выделение множественное пропадает.
              • 0
                Подскажите, пожалуйста, как!
                Это та киллерфича ST2, которой мне не хватает в других редакторах.
                • 0
                  Упс. Извините, я ошибся и проверял это в Sublime.
                  • 0
                    Ну конечно. Попревращают свои st2 в np++, потом путаются :)
      • +1
        Да, классная фишка, радуют всякие Cmd + D (выделить слово и затем +1 вхождение снизу), редактирование нескольких строк сразу, удобно (:
    • –2
      Поиск по всем открытым файлам, Загружаемые Пакеты снипетов и прочих прелестей, Бекап данных при сохранений, там целый бронепоезд полезностей. А вообще, этот курс ответит на все ваши вопросы tutsplus.com/course/improve-workflow-in-sublime-text-2/
      • +2
        Поиск по всем отрытым файлам и бэкап есть.
      • +3
        Поиск и в np++ отлично работает
        • +1
          И по закрытым файлам есть :)
    • +23
      Кроссплатформенность.
      • +2
        Это верно. Для многих это будет огромный плюсом. Одна из причин, почему начал изучать Sublime. Но всё-равно я 99% времени в Windows, поэтому лично для меня это не критично.
    • +5
      нечеткий (fuzzy) поиск — очень удобен при поиске файлов или объявленных функций, на 70% стал меньше лезть в дерево проекта
    • +3
      Кроссплатформенность (может кому не актуально, но сам успел почти за год использования поработать на всех трех основных операционках, в последнее время постоянно использую на двух осях — win & mac), и на всех оперционках редактор ведет себя ожидаемо и привычно. Наличие «отвлеченного» режима. Наличие проектов и нечеткого поиска по всем файлам проекта и текущему. Плюс ко всему довольно гибкая настройка проектов. Отсутствие необходимости сохранять файлы — довольно часто открыто пара временных файлов для заметок по структуре и тд — цикл жизни их относительно краток, чтобы сохранять, а потом чистить файловую систему, при закрытии/открытии редактора он запускается в том состоянии в котором был закрыт (это гениальное решение! имхо так и должны работать редакторы, да и не только они). Наличие текстового конфига, а не ужасно-неудобной гуйни для настройки. Доступность функционала посредством командной палитры (нет необходимости запоминать шоткаты для редко используемых функций). Встроенный Python (и консоль для него).
      Что немного огорчает, так это отсутствие гибкого автокомплита (там есть автокомплит в рамках файла), хотя для используемого для разработки яп нету редактора с нормальным автокомплитом.
      • 0
        Что такое «наличие «отвлеченного» режима.»?

        Плюс ко всему довольно гибкая настройка проектов


        В Notepad++ есть проекты. Пока нашел только один недостаток — если появится в добавленной папке к проекту новый файл, то Np их не увидит автоматически. Все остальные функции вроде есть.

        Остальное беру на заметку. Спасибо!
        • 0
          Отвлеченный режим — это полноэкранный режим без лишних элементов гуйни. У меня в этом режиме настроено отображение только двух панелей для редактирования, миникарты для них и табы.

          Еще ко всему в файл настройки проекта можно включить настройки самой среды редактора, бывает довольно полезно.
          • +2
            F11 и F12 в Notepad++ создают отвлеченный режим без лишних элементов.
      • +2
        Для автокомплита по всем открытым файлам есть хороший плагин — AllAutocomplete (ставится через пакетный менеджер или качается по ссылке).
    • 0
      Дело во вкусах, конечно, хотя я перешел из-за:
      1) Кроссплатформенность.
      2) Ctrl+P. Возможность перейти к любому файлу по его имени или частям имени. Удобно при работе с проектом. Не сомневаюсь, что в NPP такое тоже есть, но сходу не обнаружил.
      3) Удобный пакетный менеджер. Например, в NPP найти плагины для SVN не так просто, так как нет поиска. Плюс множество различных плагинов. Вероятно плагины для Sublime писать проще.
      4) Ориентированность на работу с клавиатурой.
      5) Нравится внешний вид и интерфейсные решения. У меня стоит тема Soda. По поводу интерфейсных решений — множество мелочей. Например, при поиске по Ctrl+F в NPP нужно нажать Ctrl+F, ввести текст, нажать enter, потом esc (чтобы скрыть мешающее окошко поиска), и далее F3 для дальнейшего поиска. В Sublime же Ctrl+F, текст (вы уже получите первое вхождение), и для просмотра каждого следующего результата enter. И т.п., довольно много приятных мелочей.

      В целом, я считаю Sublime хорошим редактором для программирования в тех случаях, когда не нужна полноценная IDE. Основной минус — долго запускается, плохо работает с большими файлами, и в целом медленнее NPP.
    • 0
      Сначала сомневался с переходом, но под линукс не было np++ и я перешел на st2, также нашел полезный плагин для ST2 — автозавершение bitrix framework :)
    • 0
      Лично для меня есть минус в ST2.
      Иногда нужно открывать большие файлы, например дампы базы. ST2 открывает очень долго и потребляет заметно больше памяти.
      Но стоит заметить, что ST2 после открытия вообще не тупит и правильно делает подсветку. NP++ в процессе может подтупливать и часто сбивается в подсветке.
    • 0
      Я перешел из-за одной фичи — Ctrl+Shift+P — нечеткий поиск по всем пунктам меню, теперь, например, чтобы подобрать расцветку для логов я не пробегаю километры мышкой меняя раскраску синтаксиса.
      • 0
        Нечеткий поиск по всем файлам проекта/открытым файлам, чтобы прыгнуть в нужный файл, тоже очень круто. В sublime если покопаться да парочку плагинов поставить, можно вообще неплохую IDE соорудить.
        У меня к примеру по F12 прыгает на декларацию (переменной, метода, класса, функции и т.д. под курсором) причем для всего на чем пишу, будь то python, tcl, javascript или c++ (и даже отличает их при одинаковых названиях метода по scope, где сейчас курсор стоит). Кроме того окошко с нечетким поиском по всем декларациям по Ctrl+F12. Всплывающие подсказки и autocomplete (тоже scope ориентированые), дебаг прямо в sublime, исполнение маркированого куска исходника и другие вкусности (например form/widget preview или разбор/предпросмотр регулярки во время редактирования) писал уже под свой app-server.
        Как перелез из notepad++ и закончил «кастомизацию», скорость работы команды выросла в разы. (Колеги тоже вошли во вкус, правда не сразу).
        Одно огорчает только, большие файлы он не любит.
  • +12
    Пока читал, узнал кучу классных фишек notepad++
    вот что значит не изучать софт который юзаешь. Не знал про compare, использовал сторонний софт.
    • 0
      Примерно та же история. Пошел читать справку по npp — чую много еще операций можно делать быстрее и проще чем я сейчас делаю
    • 0
      Мне в сравнении не хватает быстрого переноса различий из одного файла в другой. Поэтому, когда нужно сделать именно merge, а не просто сравнение — пользуюсь таки сторонним софтом.
  • 0
    В своё время тоже не смог перейти на sublime из-за похожих причин. Теперь попробую ещё раз)
  • +2
    История поисковых запросов — просто в поле ввода запроса нажимайте клавишу Вверх или Вниз.
    • 0
      Спасибо! Не полный аналог, но всё-таки.
  • +18
    У Саблайма няшный внешний вид, он больше является открытой платформой на которой легко написать нужный себе плагин на Python, без каких-либо заморочек. И со всем этим мигрировать от платформы к платформе, или обмениваться с друзьями на Убунте/Виндовс/Мак плагинами и конфигами.
    • –7
      На мой взгляд написание своих плагинов и кросс — это единственный плюс. (или два плюса)
      • 0
        Программы разные, и Sublime создавался уже когда был Notepad++, так что автор и писатели плагинов знали, что есть такой зверь. Так они как минимум напихали свои хотелки, которых у других редакторов нет. Другое дело, но не весь функционал Notepad++ был перетащен (и не факт, что этот редактор был стимулом).
        • 0
          Согласен. Я и не говорил, что это единственные плюсы этого редактора. Имелось ввиду плюсы по сравнению с np++.
          • 0
            Их больше. Хотелок было не две. Другое дело, что именно вам другие хотелки не нужны. Мне, например, пока 8 новых хотелок реализованных в Sublime понравилось.
            • 0
              Список в студию, пожалуйста (выбираю редактор).
              • 0
                Уже увидел ниже, извините
  • +4
    Вау Notepad++ для Linux! Спасибо, наконец-то я перестану редактировать текстовые файлы в виртаульной машине!
    • +56
      редактировать текстовые файлы в виртаульной машине!


      image
    • –1
      Чем вам VIM или Emacs не подошли?
      • +53
        Не хватает двух дополнительных жизней: одной чтобы их настроить, другой — чтобы заучить все сочетания клавиш.
        • +4
          Так тонко мне ещё никто не намекал, что я должен был бы умереть ещё две жизни назад.
          • +8
            Видимо вы кот.
            • +9
              Так по аватарке явно видно
        • +1
          На самом деле нет. Есть интерактивный туториал vimtutor (ставится вместе с вимом) и есть например такой сайт. Конечно, врядли это займет заявленные полчаса, но часа за два вполне возможно освоить базисный функционал редактирования. В этом нет никакой необходимости, но для общего развития может быть полезно. Это как секс или юникс. Пока не попробуешь не понимаешь почему столько разговоров.
          Относитесь с осторожностью, может вызвать привыкание.
          • +2
            а есть ещё игруха:
            habrahabr.ru/post/142777/
          • 0
            Для меня привыкание оказалось самой болшой проблемой. Начинал использовать имаксовские сочетания клавиш во всех приложениях. Пришлось отказаться
      • +4
        Тебя здесь заминусуют хотя бы из-за того, что пользователи Vim или Emacs не читают статью про ST и Np++ :D Сам пользуюсь Emacs-ом, и зашел в комментарии, зная, что рано или поздно увижу подобный вброс. Хабр меня не подвел.

        Конечно, если сравнивать то, Vim и Emacs тоже имеют свою аудиторию, обладают огромной базой плагинов и ничем не уступают ST. Все, что нужно, точно так же легко допиливается руками. Просто как-то не модненько сейчас, что-ли. Ну и да, порог вхождения у них повыше, более в программистско-гиковскую сторону (особенно отсеиваются люди после того, как понимают, что из коробки у них ничего работать не будет). Из всей нашей команды разработчиков (javascript) только я использую Emacs, подавляющее большинство сидит на ST. Однако со временем (в любом редакторе) ты обзаводишься своей парой-тройкой десятков уютненьких плагинов. Я пользователь с многолетним стажем и мне уже некомфортно пользоваться другими инструментами — кажется, что тебе вручили стилус и глинянную табличку вместо ручки и бумаги.
        • +1
          Минус/плюс, какая разница?

          Вообще, я про VIM/Emacs спрашашивал в контексте извращения редактирования NP++ через виртуальную машину, что является вполне себе достойным издевательством, сравнимым с VIM. Я не собирался сравнивать их с NP++ или ST.
    • +1
      Под Linux великое множество редакторов на вкус и цвет
      Geany в чёмто смахивает на Notepad++
      Я же просто обожаю vim
    • 0
      Неужели это лучше, чем пользоваться, например, кроссплатформенным Komodo Edit?
      Может у меня специфика работы сильно другая, но меня Komodo Edit полностью устраивает для работы с LUA, HTML, PHP и JS.
  • 0
    Как включить отображение символа переноса строк?

    "draw_white_space": "all" 


    Включает только отображение пробелов и табуляций.
    • 0
      Но не рисует отображение символа переноса строки, который в Windows, Linux, Mac отличаются. Notepad++ умеет это делать.
      • 0
        Можно посмотреть в меню View → Line Endings.
        • 0
          Почему то ничего не показывает.
          • 0
            Странно, у меня всегда галочка на текущем варианте стоит.
            • 0
              галочка стоит, но символов конца строки не вижу.
              • 0
                Так я про галочку и говорю. Зачем символы?
                • 0
                  Для работы со старыми, непонятными файлами, когда требуется видеть все символы, в том числе и символы переходов строк.
                  • 0
                    Какие-то у вас страшные старые файлы :).
                    • 0
                      Были еще случаи, когда совершаю замену с использованием символа \n, нужного эффекта не было. Включал видимость всех символов, видел, что тут не тот вариант — менял выражение по сопоставлению шаблона.
                      • 0
                        В ST2 всегда работает \n, можно не париться.
  • 0
    «И еще одна проблема, общая для всех поисков в Sublime. Я не нашел истории поисковых запросов.»
    Стрелки вверх-вниз понажимайте.

    А вы зачем редактор используете? Судя по вашей статье вы все время за мышь хватаетесь. Попробуйте хоткеи использовать. Это удобней и быстрее.
    • +3
      за стрелочки спасибо!

      А вот по хоткеям не согласен. Не могу я выучить десятки хоткеев даже для одной программы (а из множество). Голова забита другими мыслями, а на рефлексы никак не могу перейти. Например, очень много работаю в Photoshop и много лет. Но инструменты переключаю мышкой. Ну, не могу запомнить, что за инструмент на клавише M, а что на V. У меня хорошая зрительная память. Сколько не пытался выучить горячие клавиши — не могу.

      В общем, у разных людей — по разному.
  • 0
    Больше всего меня в Sublime Text 2 смущает что он не поддерживает синтаксис pascal,delphi из коробки.
    А вот ActionScript поддерживает.

    Хотя паскаль намного раньше появился…

    Есть ли на хабре обзор ST2 ??
  • +6
    Ребята, когда Вы здесь опишите множество плюсов Sublime, хотите ли, чтобы была написана статья «Как превратить Notepad++ в Sublime Text 2»?
    • +9
      Хм, а зачем один редактор превращать в другой? Почему бы переходя на другой инструмент не использовать его возможности, замест попыток получить тот же N++? Толку тогда от перехода?
      • +2
        Не в этом смысл. У одного редактора есть плюсы, у другого редактора есть плюсы. Но когда человек видит на горизонте какой-то инструмент с новыми возможностями, он хочет при переходе на него сохранить все то хорошее, что у него было + новые плюшки. Да, этого почти никогда не бывает. Но хочется. И вот эта статья как раз для тех пользователей Notepad++, которые увидели очень притягательные плюшки в Sublime, и им минимизировать неудобства при переходе.
    • +1
      Мне было бы интересно. Как и почитать хорошую статью про n++
      • +1
        Написал полный обзор плагина TextFX в Notepad++ blog.harrix.org/?p=186
        Оказывается, что там скрывается множество красивых функций.
    • +1
      Мне было бы это более интересно так как notepad++ полностью опенсорсный в отличии от сублайма если я не ошибаюсь.
      • +1
        Написал полный обзор плагина TextFX в Notepad++ blog.harrix.org/?p=186
  • +3
    Не перехожу на ST2 исключительно из-за отсутствия нормального FTP/SFTP-плагина (платный SFTP не в счет).
    • +3
      Если очень нужен, напишите сами :)

      Я давно не редактирую файлы удаленно, все в локальной копии репозитории, и эта папка смаплена на виртуалки, если нужно.
    • 0
      Да, и вообще бесплатных альтернатив npp с поддержкой ftp/sftp не нашел адекватных.
    • +6
      sudo apt-get install sshfs
    • 0
      «нормальный» — это можно конкретней? Использую FTPSync, обыденные потребности удовлетворяет — синкать умеет (при желании — в обе стороны), настройки файликом, чего еще для счастья надо? И да, он бесплатный. Я его нашел в течение пары первых часов использования — так и не понял, откуда вообще это мнение «нету ftp-плагина для саблайма, только платный», которое вижу в который раз.
      • +1
        Пробовал FTPSync — это не то.
        То что нужно мне, и наверно Tairesh — это навигация по удаленной файловой структуре без выкачивания всего её содержимого.
        Пример — есть какой-то проект на битриксе, мне нафиг не нужна синхронизация всего 200+ мб набора файлов в ней, но мне надо подправить 4-5 файла там-сям в шаблонах и компонентах. В np++ это решается просто выбором файлов и редактированием их как на локальной машине, в sublime к сожалению нет. Такое можно провернуть только используя сторонний софт.
  • +2
    А что с Sublime? Кто-нибудь знает решение?

    github.com/terminalbell/SublimeSynchroScroll
    • +1
      Спасибо! Работает.
  • +2
    >Sublime Text 2 набирает обороты и становится популярным, потому что вариант «из коробки» малопригоден для работы

    А я вот наоборот с радостью перелез на sublime, потому в нем почти все что мне нужно есть из коробки. Не люблю плагины, слишком они много внимания к себе требуют.
  • +1
    Давно не смотрел что появилось из плагинов у npp, но пролистав список нашел плагины для биндинга с Python и JS. Выше писали что не хватает там снипетов, в плагинах что-то и для этого есть, нужно смотреть.
  • +13
    Есть ведь проще способ превратить ST2 в N++:

    1. Деинсталлировать ST2.
    2. Установить N++

    ^_^
    • +1
      Задача: сохранив плюшки Sublime, минимизировать расхождения по наличию и удобству по остальным функциям.
      • +1
        Какие именно плюшки? Я так понял, вы и сами не поняли чем Sublime лучше…
        • +1
          Что есть в Sublime Text 2 такого, что мне понравилось и что я не нашел в Notepad++ (лично для меня).
          1. Удобная миникарта. Она реально удобная.
          2. Гораздо более быстрый поиск по множеству документов.
          3. Пока не нашел нормальной работы со снипеттами в Notepad++
          4. Всё-таки кроссплатфоменность.
          5. Пусть мне и нравится очень Notepad++, но Sublime красивее
          6. При работе с проектами Sublime автоматически находит новые документы
          7. Умный поиск
          8. Подсветка ошибок!!!

          Ну и не стоит забывать, что постоянны холивары на эту тему. И если бы я просто написал: Notepad++ круче потому что так-то так, то все мне бы возразили — а ты попробовал найти? Вот я и попробовал.
      • 0
        Мне ваша задача понятна. А вам мой юмор?
        • +1
          как показывают некоторые комментарии: некоторые это юмором не считают. Так что в данном моменте определить кто, где шутит — сложно.
          • 0
            Поэтому есть ^_^
            • 0
              :-)
    • +2
      Вот тоже первой мыслью было — зачем автору Sublime, ведь он старается сделать полного клона npp. Настройка ради настройки.
      • +1
        Скажу честно, когда я брался за статью — множество вещей, которые теперь я использую в Notepad++ я не знал. Но в Sublime они появляются сразу при открытии: миникарты, множественное выделение и так далее. Плюс устойчивый слух, что Sublime делает Notepad++. Уже потом я выяснил, что просто в Notepad++ многое из этого есть. К тому же есть функции, которых нет в Notepad++, но есть в Sublime.
      • +1
        Автор пытается объединить пересекающиеся множества фич двух редакторов.
        • 0
          о! Верно сказал!
  • +11
    >как минимум надо настроить кодировку для русского языка

    никогда ничего не настраивал — никаких проблем не наблюдаю 0_о
    Да и набирает он популярность как раз потому что «из коробки» очень богатый функционал, который легко расширяется доп.модулями.

    Давно сменил np++ на ST2.

    PS: кощунство — это менять великолепную тему из ST2 на то, что в np++. Хотя дело привычки конечно.
    • +1
      Возможно у вас все тестовые файлы в UTF-8. С файлами в кодировке cp-1251 возникают проблемы.

      Какими возможностями Sublime Вы пользуйтесь, которых нет в Notepad++?
      • 0
        А какая проблема с 1251?
        • 0
          По умолчанию стоит такая настройка:

          "fallback_encoding": "Western (Windows 1252)",
          

          И при ней показываются при открытии файла крякозябры. Нужно менять на

          "fallback_encoding": "Cyrillic (Windows 1251)",
          
          • 0
            Да, так и есть. А проблема-то в чем, в дефолтных настройках? :)
            • 0
              Ну, да. Так я же и говорил следующее: «как минимум надо настроить кодировку для русского языка». Как минимум надо это сделать. Я не говорил, что это мега проблема или что-то такое подобное. Очень легко исправляемая проблема, но проблемой она быть не перестает.
  • +13
    > Цветовая схема Sublime Text 2 по умолчанию непривычна для пользователей Notepad++, да и сам шрифт «не такой» после многолетней работы.

    Странно, но я с первого раза влюбился в эту цветовую схему и шрифт. Даже для терминала себе скачал ее. Только смотрю я на Ваш скриншот и не понимаю… То ли у Вас что-то со шрифтами, толи это нормально для Windows?
    • +1
      Что конкретно не так со шрифтами?

      По поводу темы: дело привычки. Мне темная тема не нравится — люблю белый фон.
      • +1
        Есть великолепная тема Soda. В светлом и темном варианте.
        • 0
          Дело привычки. В стандартном наборе тем в Sublime есть и другие светлые темы. Но я привык к цветовой схеме из Notepad++ за много лет. И менять ее не хочется.
      • +1
        Я привык видеть такие шрифты:

        А ваши мне кажутся очень тонкими и совсем без зглаживания.
        • +1
          ну по такой картинке сложно судить, но возможно, что вы и правы. Но я ничего не менял в системе и программе.
    • +7
      Шрифт просто стоит Courier New. С которого уже давно пора бы перейти на Consolas ;)
    • +3
      Зато как стандартное оформление Sublime вписывается в стандартную тему Ubuntu! Как будто их единым целым делали. На Windows смотрится, честно говоря, коряво.
  • +34
    у меня глазки кровью плакали когда я читал как вы извращались с саблаймом =)
    • +1
      С темой?
      • +6
        Предположу, что в первую очередь. Вменяемые цвета заменить на «привет из 90-х» — это неприятно.
        • 0
          На вкус и цвет товарища нет. Той же Notepad++ пользуются сейчас миллионы людей и используют старую тему.

          Лично я не гонюсь за модой. Мне важно, чтобы мне лично было удобно. И многих другим людям удобнее работать в привычном окружении.
          • 0
            «Мода» — слишком попсове понятие. Тут скорее соотношение технологий и чувства вкуса. Как минимум технологии в момент придумывания цветовой темы для npp были изрядно несовершенными — ЖК мониторы были блеклыми, с низкой контрастностью. На нетбучине с ее не самым хорошим экраном тема npp выглядит боле-мене сносно. На простеньком ips — уже вырвиглазно.
  • +2
    после пары попыток перехода на Sublime я просто продолжил пользоваться Notepad++, преимуществ, кроме кроссплатформенности, для себя в нем я не нашел, зато некоторые важные моменты теряются
    • +1
      есть такие важные моменты, которых я не отметил в статье?
      • 0
        nppftp?
        Я конечно понимаю для саблайма можно написать. Но он и не бесплатен в принципе.
      • 0
        например, сравнение файлов по Alt+D. Сравнение в Sublime меня категорически не устраивает
  • +6
    Кошмар какой-то. Статья из серии как превратить ubuntu в windows xp. Зачем? Пользуйтесь тем, что вам удобно.
    • +1
      Можно выбрать один редактор из двух и всё.

      А можно, сохранив плюшки Sublime, минимизировать расхождения по наличию и удобству по остальным функциям. В идеале получим функционал двух редакторов, но на практике получаем функционал одного редактора + некоторый функционал другого. Но это всё равно больше, чем функционал одного редактора.
  • +1
    На вкус и цвет конечно, но мне кажется, саблайм должен выглядеть так.
    • 0
      ну почти f2.s.qip.ru/IRG4yh0E.png )
      • +2
        Больше гламура, господа.
        • +2
          а вам розовый глаза по ночам не выжигает?)
          • 0
            Он в этой теме не особо яркий, так что даже никакого напряжения не чувствую.
        • 0
          Нас всех объединяет то, что мы любим квадратные вкладки -))
        • 0
          Можно поинтересоваться названием этой гламурной темы? Имеется ввиду не цветовой, а самого саблайма.
    • 0
      Или вот так:
      image
      • +3
        Как можно жить без mactype на винде? У меня от ее ClearType глаза начинают вытекать уже через полчаса. Хотя, это наверное несколько лет работы на маке сказываются…
        • 0
          ну я на маке никогда не сидел, мне такие шрифты привычнее.
          • 0
            Просто посмотрите мой скриншот выше. Такое сглаживание шрифтов ближе к типографичному виду, и не режет глаз как тонкие пиксельные шрифты в windows по умолчанию, даже со включенным cleartype. На них намного приятней смотреть, и глаза меньше устают. Хотя, конечно, на вкус и цвет.
            • +1
              Вот я люблю такое, мелкое. На домашнем ноуте они еще меньше из за матрицы.
      • +1
        А вот смысл миникарты я вообще не понимаю. Она только драгоценные пиксели по ширине занимает, а толку от нее… Гораздо удобней пользоваться Ctrl/Cmd+R, имхо.
        • 0
          Я тоже не понимаю, на домашнем компе отключена
  • +1
    Как только попробовал ST2, на него пересел полностью, хотя NP++ вполне хороший, но он как большая приборная панель из «будильников» в самолёте, а в ST2 абсолютно всё, что нужно, на месте было. Не хватало только проверки синтаксиса — для этого плагин SublimeLinter есть. Не понимаю, зачем вообще допиливать ST2.
    • +2
      Статья и отвечает на вопрос: «Зачем вообще допиливать ST». Лично мне этих функций не хватало, которыми постоянно пользуюсь в Notepad++ (или не мог с ходу найти). Возможно Вы пользуйтесь теми функциями, все которые есть в Sublime.
  • +10
    Как можно заменять Consolas на Courier New?!

    В давние времена, когда за окном ходили динозаврты, а на столах стояли ЭЛТ-шные гробы, Курьер без сглаживания выглядел шикарно. Но во времена ЖК после обработки Ну-Чиста-Типа он выглядит ужасно, ИМХО. Буквы лезут друг на друга, чёткость никакая, линии тонкие и неравномерные по толщине, изобилие засечек рябит в глазах.

    Я сам поклонник PragmataPro (по сравнению с Консоласом он более высокий), но Консолас на мой вгляд по всем параметрам превосходит старый Новый Курьер. Он специально разрабатывался под субпиксельное сглаживание.
    • –1
      У разных людей разные вкусы. Мне лично такое сглаживание не нравится.
      • 0
        Вы просто не пробовали. Привыкните мгновенно, и не будете понимать, как могли без этого раньше.
        • +1
          Пробовал. Я не сразу решил поменять тему.
          • 0
            Надо подобрать нормальную тему, например ту же Soda. Я стандартную тоже не очень понимаю. Для меня тёмная только консоль подходит, и стандартные не очень понравились.
            • 0
              Цветовая гамма у меня такая как в Notepad++. И я пробовал в ней разные шрифты. Вариант, когда там, где я хочу видеть строгую линию, виднее полулиния, мне не нравится.
              • 0
                В Саблайме есть тема самого редактора, а есть цветовые схемы. И можно шрифт менять. Я больше про последнее, так у Soda мне нравится раскраска Expresso Soda.
                • 0
                  Не понял. Что еще за темы самого редактора?
                  • 0
                    Там вкладки меняют вид, кнопочки (на поиске например), папочки…
                    • 0
                      Где это?
                      • 0
                        В Саблайме, где же.
                        • 0
                          Это понятно. Где именно? В каких настройках? Я много перекопал литературы по Sublime и впервые слышу о такой возможности. А те же вкладки я бы точно поменял. И был бы очень ряд, узнав о такой возможности.
                          • 0
                            Так тема же! Например, у меня в настройках:
                            "theme": "Phoenix Light.sublime-theme"
                            

                            (Это форк темы Soda.)
                            • +1
                              А… Вон оно что. Значит, наверно встречал в документах такое, но считал, что это тоже самое, что и цветовые схемы. Спасибо!
    • 0
      10 лет пользуюсь шрифтом Courier New в текстовых редакторах — ничего из описанного вами не наблюдаю, он для меня очень красив. А вот Consolas наоборот после него кажется ужасным. Так что каждому свое.
      • –1
        Согласен с Вами!
  • +1
    Notepad++ при попадании курсора на скобку подсвечивает их ярким цветом:

    В Sublime же есть лишь небольшое малозаметное подчеркивание:
    Это зависит от темы оформления, можно через модификацию темы сделать как угодно. Плагин для этого не обязателен, не знаю, что он делает. Может даже и мешать.
    • 0
      Попробую найти, но пока безуспешно.
      • 0
        Хотя я, наверное, не прав, выделение скобок не описывается темами.
      • 0
        Но в описании BracketHighlighter вроде всё есть, можно настраивать.
        • 0
          Когда я разбирался, то там поднималась проблема, что можно менять фон, а вот цвет текста не настраивается.
  • 0
    А можно создавать свои правила подсветки синтаксиса?
    • 0
      В ST2 да. Там система основана на текстмейтовской со всеми её недостатками (фиг раскрасишь синтаксис на основе отступов).
    • 0
      Вроде да. В этой теме особо не разбирался.

      вот один умелец сделал для Pascal github.com/diniremix/sublime-pascal
  • 0
    phpstorm в массы!

    по теме: не совсем понял зачем из мотоцикла делать велосипед?..
    • +1
      Из мотоцикла ничего не было убрано. Что было сделано:
      1. Поменяли для привычки внешний вид. Кто не хочет — пусть не делает.
      2. Нашли соответствие функциям в одном и другом редакторе. Для чего? Решил человек перейти на Sublime (ну, жутко ему понравились сниппеты или внешний вид), но никак не может найти привычной функции для перехода к закрывающей кавычке или поиск по открытым файлам.
      3. Добавлены некоторые плагины, дополняющие недостающий функционал.
      Всё!
      • 0
        Понятно… дело привычки дело тонкое. Сам сидел года 2 на N++ и плевался, когда предлагали попробовать что-то другое. В итоге в прекрасный момент все-таки решился поюзать шторм и все равно хотел из нотпада перенести настройки… изрядно помучавшись бросил это дело и за 3 дня полностью привык к новому. Вывод: лучше привыкать к новому, т.к. чаще «новое», которое кажется неудобным оказывается намного удобнее и полезнее «старого»
        • 0
          Согласен, так очень часто бывает. И у меня так было часто. Но это цветовая схема — не более. Если бы от этого уменьшился функционал — тогда другое дело.

          А шторм как работает не с php файлами? Например, с cpp?
          • 0
            Шторм работает не только с Php =)) Cpp сам пока не работал, но есть плагины. Мне удобен шторм связью с проектом и подключением git / svn
            • 0
              я постоянно работаю с разными вещами, работами. Поэтому мне и нужен такая универсальная программа, чтобы отовсюду по чуть-чуть. А где надо там использую полноценные IDE, системы и так далее.
              • 0
                PHPStorm заточен на web-разработку с PHP.
                Если нужно большее, то нужно смотреть в сторону www.jetbrains.com/idea/
                Но если нужно все-все-все и по немногу, то смысла смотреть в эту сторону не надо.
                Кстати, она вам кое-что напомнит -))

                image
                • 0
                  PHPStorm заточен на web-разработку с PHP.

                  Добавлю, что PHPStorm включает в себя весь функционал Webstorm, т. е. это не только PHP:

                  image
      • +6
        Такое ощущение, что вы в Тулу со своим самоваром решили прийти. Не надо находить параллели, не надо делать из одной софтины другую. Просто забудьте все, что вы знали про Notepad++, пройдите какие-то туториалы по ST2 (например Perfect Workflow in Sublime Text), выучите с десяток хоткеев и будет вам счастье. Если не понравится — возвращайтесь назад на Notepad++. У ST2 своя идеология, свои принципы и подходы.
        Вы когда учите новый язык программирования, то тоже используете все паттерны и договоренности прошлого языка? Это отдельные миры и нужно быть гибким.

        Хорошо, что вы еще не начали из VIMа делать Notepad++.
        • +1
          Считайте, что я смотрю с точки зрения обычного малообразованного пользователя. Меня не интересуют идеологии, схемы и так далее. Я хочу и того и того. Приведу аналогии:

          Я хочу пойти в китайский ресторан поесть пельменей, и там я достаю ложку и вилку (это гипотетический пример).

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

          Человек хотел попасть в средневековую баталию и попал. Но там его забивают. Он достает автомат и всех расстреливает.

          Тоже самое и здесь. Мне пофиг на идеологии. Мне нужны фичи Sublime при сохранении возможностей Notepad++. И если это возможно — я это сделаю. И мне глубоко фиолетово, что я нарушаю какую-то идеологию. Мне важно, чтобы мне было удобно — я пользуюсь программой не для того, чтобы чьи то идеалы поддерживать, чтобы работать.
          • +1
            Чтож, у вас просто нет чувства прекрасного. Судя по примерам, вообще нет.
            • –1
              Я разделяю искусство и работу. Главное — забить гвоздь)
              • +1
                Вот товарисчи из южных стран у нас механически забивают гвозди. И в итоге иногда оказывается плинтус прибитый вверх ногами.

                Забить гвоздь — это тоже творчество. Я уж молчу про разработку софта… )
                • 0
                  Можно в «Забить гвоздь» видеть два искусства:

                  1. Искусство в том, как в итоге забит гвоздь. Неважно, что забивался не в строгом в соответствии с трудом «Мантры по забиванию гвоздя». Главное, что он видит жестко, крепко и надежно.

                  2. Искусство в том, как красиво забивался гвоздь, какой правильный был порядок при этом и какая идеология использовалась (Ивана Ивановича или Васи Пупкина). И пусть, что гвоздь в итоге немного кривоват, но зато красиво.

                  Я выбираю первое искусство.
                  • –1
                    прямой связи между «красиво» и «качественно» нет.

                    можно делать красиво и качественно
                    можно делать не красиво и качественно

                    вы выбираете второе

                    и именно поэтому у вас нет чувства прекрасного

                    но все внутренности видны другим разработчикам и коллегам. Красивый код — это для них и для себя, а не для клиентов. Клиентам глубоко по барабану как и где вы писали ваш код.
                    • 0
                      Скажем так. Я решаю те задачи, которые другие решить не смогли.
                      • 0
                        Например?
                        • 0
                          Например, в области искусственного интеллекта.
        • 0
          > Хорошо, что вы еще не начали из VIMа делать Notepad++.
          Хорошо, что испортить VIM **так сильно** по-моему нереально.
          • +1
            вим весьма гибок, портить его можно много, долго и с удовольствием =)
  • 0
    * промазал
  • 0
    Оба редактора не в состоянии открыть текстовый лог размером 3.3 Гб. А по нему еще и поиск нужен.
    • 0
      Vim в состоянии. ^__^
      • +1
        «только vim, только хардкор» XD
      • +1
        Вы сами пробовали? У меня vim на 6 гиговом sql файле выпал в осадок.
        • 0
          syn off
          • 0
            Хм, и толку отключать подсветку синтаксиса? У меня не стояло задачи открыть его в vim, мне нужно просмотреть файл (и подсветка синтаксиса тут очень кстати), и у EmEditor это получается почти мгновенно.
        • 0
          Вот 6 гиговый нет. 4-ёх гиговый открывал — всё было отлично.
          Вообще если получается такой огромный лог, то что-то вы где-то сделали не так.
    • –1
      это чтобы в оперативную память лег такой файл?
      • 0
        Да, типа того, лег и чем-то полезным с собой позволил позаниматься в редакторе.
        • 0
          надо будет попробовать.
    • 0
      Потому я использую EmEditor, он в лёгкую и 6 гиговые открывает :)
  • 0
    Не понимаю к чему всё это. Вам удобен Notepad++, зачем надо пробовать ST2 если всё устраивает?

    Я вот тоже по началу пробовал на ST2 перелезть с Vim'а (Говорю сразу: Vintage ущербен чуть более чем полностью). В итоге понял, что уже не смогу писать код ни в чём другом кроме vim'а. У Вас думается, будет примерно тоже самое, только вместо Vim — Notepad++.
    • 0
      У Sublime много интересных фич. При этом не все знают, что многие из этих фич есть и в Notepad, но скрыты. Эта статья для множества людей, которые хотят перейти на Sublime с Notepad — таких много. Это я, например, не вижу смысла в сниппетах, а другие видят в этом функцию, которая заставит их перейти на Sublime за одно мгновение.
  • 0
    Кто знает, чем отличается механизм подсветки синтаксиса у SL и NP++? Почему то много косяков в подсветке синтаксиса у SL, хотя в NP++ всё норм. Проблема в листингах Perl
    • 0
      Устаревший Perl language pack.
  • 0
    А у меня так и не заработала «Проверка орфографии» :(
    • 0
      что не заработало? Какой-то шаг дал сбой? какой словарь использовали?
      • 0
        Раньше пробовал по какой-то инструкции, но не сработало, а сейчас проверил с вашим словарем (который с firefox) и та же беда. Ошибки в тексте не подчеркиваются, вообще ноль реакции.
        • 0
          А Вы выбираете словарь? Можно посмотреть скин?
  • 0
    А вот все эти манипуляции проделывались на купленном саблайме или временной версии?
    Я почему спрашиваю.
    Беру чистую систему (пробовал винду, убунту и макось).
    Устанавливаю на нее саблайм.
    Создаю новый плагин, дефолтный. Добавляю для него пункт меню и контекстного меню.
    Все вроде ок. Но вот менюшки плагина «серые». Т.е. их невозможно выбрать.
    А нет ни одного знакомого с купленной версий, чтобы проверить связана ли неработоспособность вновь созданного плагина с этим.
    Это не только у меня так. Попросил 3-х знакомых создать новый плагин по туториалам, в том числе и по тем, которые есть тут на хабре. Ни у кого не получилось.
    Результат такой же, пункт меню серый.

    Может в этой ветке кто подскажет в чем проблема?
    • 0
      Покупка саблайма — это чистый донат (ну и избавление от напоминалки каждое n-ое сохранение, где n — велико). Функционально они ничем не отличаются.
      • 0
        Логически то да. Но вот блин на временной версии нихрена плагины не создаются…
    • 0
      Если менюшки серые, то возможны варианты:
      1. Функции в плагине неработоспособные
      2. Вы неправильно называете команду. Как называете команда в меню и как называет класс, где команда реализована?

      У меня не купленный Sublime.
    • 0
      Новый плагин имеет класс ExampleCommand, в контекстное меню вы добавляете «command»: «example» или может «command»: «example_command»?
  • –3
    Вот прочитал я все это и подумал, а зачем Sublime когда есть, проверенный веками Notepad++?
    В чем достоинства Sublime?
    • +5
      Вы, наверное, прочитали всё, кроме комментариев, да?
      • +2
        Недостаток хабра — я писал этот коммент — когда было только 3 комментария.
    • 0
      Как оказалось, изучая этот вопрос я о Notepad++ узнал больше, чем во время его использования)
  • 0
    Какой плагин в N++ может показать дерево и выделить текущий файл в нем?
    Explorer очень глючный и работает через раз (проще сказать, что не работает), Light Explorer работает, но не может переключаться в дереве на нужный файл при выборе таба файла.
    • 0
      Дерево чего? Список файлов?
      • 0
        Да.
        Чтобы работать над проектами, а не открывать файлы из проводника.

        Интересно получается: для FTP/SFTP удобный плагин есть, а для локальных файлов нет.
        • 0
          Если интересует конкретная папка, то это делается с помощью проектов — будет полное дерево всех папок и файлов папки и подпапок.
  • –9
    Зачем нужна эта глянцевая гламурная гадость? Даже иконка в духе глисты. Вот npp маленький, аккуратненький и няшный.
  • +3
    не понял, зачем вообще написан был этот пост.
    если автору нравится N++, то ЗАЧЕМ переходить на ST2? потому что типа модно, и он «набирает популярность»
    • 0
      Во-первых, хоть мне и нравится N++, но далеко не всё: например, нет проверки орфографии, автокомплит сделан некрасиво и по функционалу не ахти, в идеале хотелось бы, чтобы не нужно было обновлять браузер при изменении файлов, отправка текста в Evernote, версии для Android и так далее. Он хорош, но есть недостатки. Поэтому поиск более лучших решений ведется/

      Во-вторых, ST2 всё-таки обладает плюшками, которые увеличивают возможности редактора по сравнению с N++.

      В-третьих, в процессе согласования двух этих редакторов, я узнал много нового о N++.
      • 0
        о плюшках просто не написано совсем, а жаль
  • +1
    Замечательная статья про редакторы, но текст "(UNREGISTERED)" сразу отпугнул как и цена за в 59$ на оффиц. сайте. Причем цена, по своей сути, за «отвертку», а не за «коробку инструментов».
    Я не спорю, что писать программы/сайты в таких редакторах модно и круто, а 10 лет назад создать php сайт в notepad было замечательно (только человек с dreamweaver посмеивался и делал быстрее).
    Но такие редакторы нужно использовать для быстрых правок кода и конфигов (сам использую notepad++). Для работы над проектами следует использовать комплексные решения, «студии» (eclipse, intellijidea как пример), которые стоят не намного дороже (а некоторые вообще не стоят), зато обеспечат более высокий уровень и стилистики кода + обезопасят от ошибок при помощи разного рода гвардов.
    А для быстрых правок и нетребовательно к ресурсам (в отличии от «студий») подойдет добрый и бесплатный NP++ с нужными плагинами (sftp например).
    • 0
      > Но такие редакторы нужно использовать для быстрых правок кода и конфигов (сам использую notepad++). Для работы над проектами следует использовать комплексные решения, «студии» (eclipse, intellijidea как пример), которые стоят не намного дороже (а некоторые вообще не стоят), зато обеспечат более высокий уровень и стилистики кода + обезопасят от ошибок при помощи разного рода гвардов.

      пффф… для больших проектов нужно голову использовать. Далеко не все самые крутые и гигантские штуки писались и пишутся в «студиях».

      Поэтому целый ворох мощных редакторов «не IDE» и существует (jEdit, vim, emacs, np++, st2 и др)
    • +1
      Увы, эти «студии», то есть IDE и близко не подходят по шустрости и простым редакторским возможностям к Sublime Text 2 и другим «простым редакторам». Одна отжирающая ресурсы индексация чего только стоит. А если переключается ветка в git каждые полчаса (ингода чаще), то это сильно тормозит работу.
      • 0
        100% ваша правда — на правильно настроенном sublime моя продуктивность вдвое выше, чем на любой IDE. Причем это касается как скриптовых языков (tcl, python, и т.д.), так и компиляторов (c++, c# и т.д.). Студия или эклипс просто висят параллельно (для деплоя или например дебага если уж нужен).
    • +1
      Расскажите это рубистам, питонщикам и т.д., плотно сидящим на TextMate, а теперь и на Sublime Text 2.
      Один из разработчиков Scala на Sublime Text 2 сидел, сейчас правда решил уйти на emacs.
      • 0
        TextMate, кстати, ныне opensource.
    • +1
      Выше где-то писали уже, что покупка ST — исключительно донат, который только избавляет от этой надписи и редких напоминаний о приобретении.
      • 0
        Верно!
  • +3
    в sublime text 2 поиск текста, и замена его организованы в миллион раз удобнее, чем в np++. После него все эти огромные диалоговые окна кажутся чересчур раздутыми и избыточными.
    • 0
      Поиск текста во всех отрытых папках сделан в отдельной вкладке — уже неудобно.

      Вместо одного диалогового окна — 4 панели — это тоже неудобно.
      • +2
        Вы можете это выключить: отщелкните кнопу «use buffer» (самая правая перед Find).
        • 0
          Спасибо! Работает.
  • +1
    Безмерно вам благодарен за ST2. Открыл для себя идеальный редактор кода. Кроссплатформенность тоже подкупает.
  • 0
    Спасибо, нашел для себя пару моментов с контекстным меню.
    ST2 выбрал за его красоту, теперь открывая Np++ удивляюсь насколько он суров )
    Есть один момент, которого мне не хватает из Np++: в диалоговом окне поиска там есть галочка — отметить найденное, чтобы пометить найденное надолго.
    Есть три момента в ST2, который я не могу победить:
    1. не могу чтобы понять как сделать, чтобы отображался список функций в файле, если это sql package с функциями и процедурами
    2. не могу найти более-менее нормальную подсветку для синтаксиса oracle.
    3. не могу заставить работать package control с proxy, скачал последний ST2 и свежий package control, настроил прокси, но при вызове команды Install Package в консоли получаю:

    Exception in thread Thread-6:
    Traceback (most recent call last):
    File ".\threading.py", line 532, in __bootstrap_inner
    File ".\Package Control.py", line 2244, in run
    packages = provider.get_packages()
    File ".\Package Control.py", line 1016, in get_packages
    platforms = package['platforms'].keys()
    TypeError: string indices must be integers

    Exception in thread Thread-5:
    Traceback (most recent call last):
    File ".\threading.py", line 532, in __bootstrap_inner
    File ".\Package Control.py", line 4070, in run
    'reinstall', 'pull', 'none'])
    File ".\Package Control.py", line 3845, in make_package_list
    packages = self.manager.list_available_packages()
    File ".\Package Control.py", line 2955, in list_available_packages
    renamed_packages = downloader.renamed_packages
    AttributeError: 'RepositoryDownloader' object has no attribute 'renamed_packages'

    Может кто сталкивался?
  • 0
    В Sublime Text нет NppCalc-а, как жить без него не представляю)
    • 0
      Полезная вещь!!!
  • 0
    История поиска в Sublime — на строке поиска в (которая Ctrl+F) нажимать «вверх»-«вниз» на клавиатуре.
  • 0
    Разочаровало отсутствие в Windows контекстного меню открытия любого файла, как в Notepad++:

    Там ведь при установке, в установщике можно выставить флажок: Add 2 context menu. И будет как с np++
    • 0
      Что ниже в тексте и написано.
      • 0
        Прошу прощения, проскочил этот кусочек текста, читал, из-за отсутствия времени — невнимательно :-(
  • 0
    При двойном щелчке по выделенным фрагментам Вы переместитесь на нужный Вам файл и место. Но постоянно переключаться между вкладкой результатов поиска и вкладками документов неудобно.
    Перемещаться по найденым результатам можно F4 (вперед) Shift+F4 (назад).
    В Notepad++ же панель результатов поиска расположена внизу. Нажимаем Shift + Alt + 8 (разбиваем экран на верхнюю и нижнюю половину) и перетаскиваем туда нашу вкладку с результатами поиска. Панель вкладок только слишком большая для второго окна. Уменьшить бы ее.
    Зачем так сложно: отщелкните кнопу «use buffer» (самая правая перед Find) — выдача поиска будет внизу как в npp.

    Выглядит так, что вы вообще очень многого еще не знаете о sublime text.
  • –4
    image
    вот что это мне напомнило…
    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        Спасибо, Кэп!
  • –5
    Для работы над проектами юзаю нормальную IDE, N++ пользовал под Виндой для мелких правок различных файлов. Думал, не стоит ли попробовать ST2? Теперь понял — однозначно не стоит.
  • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    «Когда программисту делать нечего — он цвета свой редактор настраивает.»

  • 0
    Работает ли плагин Tabright в последней dev версии Sublime Text 2?

    У меня стоит dev — не работает (правда и на последней официальной версии 2.0.1 тоже не работал). Я так понимаю, что проблема с этим плагином только на 64-битных системах.

    При закрытии вкладки до последней при использовании плагина Tabright программа вылетает.

    Если я вас правильно понял, то попробуйте поменять параметр «close_windows_when_empty» в Preferences -> Settings — User на false.

    Как по нормальному открывать вкладки, чтобы при открытии файла, вкладка появлялась в конце вкладок?

    Вроде как там эта функция по умолчанию, если нет — посмотрите на плагин SideBarEnhancements — возможно, он дает такой эффект.

    Можно ли ставить пометки Bookmarks без горячих клавиш?

    Меню GoTo -> Bookmarks, как вынести в меню по правой кнопке — целью не задавался, увы, по мне так горячие клавиши удобнее.

    Можно ли ставить пометки Bookmarks сделать более заметными?

    Sublime Text 2\Packages\Theme — Default\bookmark.png — редактируйте в свое удовольствие :)

    Как найти текст и вывести список найденных мест не во всех файлах, а только в одном (без ввода имени файла, без одноименных файлов)?

    Попробуйте комбинацию клавиш Alt + R

    Кто-нибудь знает, как сделать при работе этого плагина BracketHighlighter с белым фоном, но красным цветом текста при выделении скобок?

    Идем в Sublime Text 2\Packages\Color Scheme — Default\ и открываем там файл своей темы. В конец, но до закрывающего тега добавляем:
    <dict>
    <key>name</key>
    <string>BracketHighlighter</string>
    <key>scope</key>
    <string>brackethighlighter</string>
    <key>settings</key>
    <dict>
    <key>fontStyle</key>
    <string />
    <key>foreground</key>
    <string>#ff0000</string>
    <key>background</key>
    <string>#ffffff</string>
    </dict>
    </dict>
    

    Затем в меню выбираем Preferences -> Package Settings -> BracketHighlighter -> Settings — User и в открывшейся вкладке пишем:
    "quote_scope" : "brackethighlighter.name.class",
    "curly_scope" : "brackethighlighter.name.class",
    "round_scope" : "brackethighlighter.name.class",
    "square_scope": "brackethighlighter.name.class",
    "angle_scope" : "brackethighlighter.name.class",
    "tag_scope"   : "brackethighlighter.name.class",
    
    "quote_style" : "outline",
    "curly_style" : "outline",
    "round_style" : "outline",
    "square_style": "outline",
    "angle_style" : "outline",
    "tag_style"   : "outline",
    

    Должно помочь.

    Как можно выделять конкретный текст как маркером на бумаге?

    Есть только мультиселект, но вот чтобы он был разными цветами — нет.
    • 0
      Спасибо!!! Сегодня с этими советами разберусь.
    • 0
      > Если я вас правильно понял, то попробуйте поменять параметр «close_windows_when_empty» в Preferences -> Settings — User на false.

      Не работает к сожалению.
      • 0
        Эх… жаль, тогда сносите этот плагин до лучших времен :) я его примерно раз в 2 месяца ставлю, проверяю и сношу :)
  • 0
    На сколько хорошо он (Sublime) дружит с файлами больших размеров? (К примеру десятки Гб.)
  • +1
    Кто-нибудь в курсе, как в NPP настроить всплывающие подсказки по функциям JS, с параметрами функций?
    например, вот так:
    image

    Пробовал настроить плагин Language Help с разными справочниками *.CHM, всплывающих подсказок нет (не путать с автодополнением)… Но для других языков народ как-то ухитряется настроить, для PHP и т.п.
    • 0
      Надо будет поискать. Полезная штука.
    • 0
      Backup/Auto-Completion -> Function parameters hint
      • 0
        Не знаю, сработает ли в твоем случае — ну на всё ли эта функция распространяется.
        • 0
          При выборе синтаксиса JS (в меню) эффекта не заметил. Пишу имя встроенной функции, ставлю скобку, но увы… всплывающей подсказки по параметрам нет.
  • +1
    для подсветки скобок нужно в файл темы вставить секцию
    <dict>
    	<key>name</key>
    	<string>BracketHighlight</string>
    	<key>scope</key>
    	<string>bracket.match</string>
    	<key>settings</key>
    	<dict>
    		<key>foreground</key>
    		<string>#FF0000</string>
    		 <key>background</key>
    		<string>#FFFFFF</string>
     	</dict>
    </dict>
    

    потом в настройках плагина прописать
    «quote_scope»: «bracket.match»,
    «curly_scope»: «bracket.match»,
    «round_scope»: «bracket.match»,
    «square_scope»: «bracket.match»,
  • 0
    А есть ли стили для npp++ от sublime?
  • +1
    Спасибо автору за пост, узнал много полезного.

    Только вот указанное автором решение для копирования пути файла/каталога у меня не работало в SublimeText3. Где то в сети нашел работающее решение:
    import sublime, sublime_plugin, os
    
    
    class PathToClipboardCommand(sublime_plugin.TextCommand):
    
        def run(self, edit):
    
            sublime.set_clipboard(self.view.file_name())
    
    
    class FilenameToClipboardCommand(sublime_plugin.TextCommand):
    
        def run(self, edit):
    
           sublime.set_clipboard(os.path.basename(self.view.file_name()))
    
    
    class FiledirToClipboardCommand(sublime_plugin.TextCommand):
    
        def run(self, edit):
    
            branch, leaf = os.path.split(self.view.file_name())
    
            sublime.set_clipboard(branch)
    
    

    Может кому пригодится.
  • 0
    А есть какой-то плагин в СЕ, как Експлорер в Н++? А то задовбало папки добавлять и новые окна закрывать.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.