Превращаем 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++, а по некоторым лучше.
    Метки:
    Поделиться публикацией
    Похожие публикации
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 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++ полностью опенсорсный в отличии от сублайма если я не ошибаюсь.
                                                                    • +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
                                                                                            как показывают некоторые комментарии: некоторые это юмором не считают. Так что в данном моменте определить кто, где шутит — сложно.
                                                                                      • +2
                                                                                        Вот тоже первой мыслью было — зачем автору Sublime, ведь он старается сделать полного клона npp. Настройка ради настройки.
                                                                                        • +1
                                                                                          Скажу честно, когда я брался за статью — множество вещей, которые теперь я использую в Notepad++ я не знал. Но в Sublime они появляются сразу при открытии: миникарты, множественное выделение и так далее. Плюс устойчивый слух, что Sublime делает Notepad++. Уже потом я выяснил, что просто в Notepad++ многое из этого есть. К тому же есть функции, которых нет в Notepad++, но есть в Sublime.
                                                                                          • +1
                                                                                            Автор пытается объединить пересекающиеся множества фич двух редакторов.
                                                                                      • +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
                                                                                                                    Можно поинтересоваться названием этой гламурной темы? Имеется ввиду не цветовой, а самого саблайма.
                                                                                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                                • +3
                                                                                                                  Как можно жить без mactype на винде? У меня от ее ClearType глаза начинают вытекать уже через полчаса. Хотя, это наверное несколько лет работы на маке сказываются…
                                                                                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                                    • 0
                                                                                                                      Просто посмотрите мой скриншот выше. Такое сглаживание шрифтов ближе к типографичному виду, и не режет глаз как тонкие пиксельные шрифты в windows по умолчанию, даже со включенным cleartype. На них намного приятней смотреть, и глаза меньше устают. Хотя, конечно, на вкус и цвет.
                                                                                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                                  • +1
                                                                                                                    А вот смысл миникарты я вообще не понимаю. Она только драгоценные пиксели по ширине занимает, а толку от нее… Гораздо удобней пользоваться Ctrl/Cmd+R, имхо.
                                                                                                                    • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                                • +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 же есть лишь небольшое малозаметное подчеркивание:
                                                                                                                        Это зависит от темы оформления, можно через модификацию темы сделать как угодно. Плагин для этого не обязателен, не знаю, что он делает. Может даже и мешать.