Як перетворити Sublime Text на ідеальний інструмент для роботи з текстом. Як перетворити Sublime Text на ідеальний інструмент для роботи з текстом Як дізнатися поточне кодування файлу

Sublime Text, як кажуть, більш елегантний текстовий редактордля цивілізованіших часів. Багато авторів і читачів] користуються ним для роботи з кодом, версткою та конфігами. Але як використовувати його для роботи з «людськими» текстами? Скажу по секрету - майже вся редакція журналу використовує його щодня для роботи над статтями, і за цей час назбиралося кілька зручних хаків. У цій статті я розповім тобі, як перетворити ST на ідеальний інструмент для такої роботи.

Чому не використати будь-який інший текстовий редактор? Відповідь проста - а навіщо плодити сутності? Sublime Text нашпигований різними корисними фічами, яких немає в iA Writer та інших модних редакторах для роботи з Markdown (не кажучи вже про монструозний Word). З очевидного: розмальовка коду, автодоповнення, «міні-карта» документа, «схлопування» заголовків, вбудований термінал та величезна колекція плагінів. Нарешті, можливість сортувати рядки та множинне редагування, при якому ти розставляєш у тексті відразу кілька курсорів та вносиш потрібне виправлення. Будь-яку операцію можна зробити не знімаючи рук з клавіатури, а також легко підключити масу потрібних тобі зовнішніх інструментів. А вже можливостей кастомізації стільки, що з різними плагінами можна розбиратися цілими днями.

Менеджер пакетів


Зрозуміло, всі користувачі ST знають про пакетного менеджера, але якщо ти читаєш цю статтю і замислюєшся про те, щоб спробувати цей редактор вперше, потрібно зробити невелике введення. Управління пакетами – звична річ для лінуксоїдів, а також для програмістів на Ruby або Python. Проте текстовий редактор, який вимагає пакетного менеджера... чи не надто хардкорно? Насправді плагіни Sublime Text 2 можна просто копіювати (або клонувати за допомогою Git) до призначеної для них папки, і вони будуть працювати. Але доповнення з назвою Package Control спрощує цей процес ще сильніше. Саме воно теж встановлюється не цілком ординарним чином: потрібно відкрити консоль Sublime Text і скопіювати туди з сайту код, що активує інсталяцію. Перезапускаємо Sublime Text, натискаємо (в OS X), щоб відкрити командний рядок(це не те саме, що консоль!), пишемо install і натискаємо Enter. Перед нами – каталог із плагінами. Тепер достатньо набрати назву потрібного та знову натиснути Enter. Він скачається та встановиться автоматично. Найчастіше далі потрібно перезапустити програму. Ще в меню Sublime з'явиться пункт Package Control, що відкриває доступ до інших важливих можливостей: насамперед важливі оновлення та деінсталяція пакетів.

Markdown


Про Markdown ми тобі розповідали ще у вересні 2012 року (стаття "Знайомся. Це Markdown"). Це найкращий із вигаданих форматів роботи з текстом - проста мова розмітки, що дозволяє швидко оформити будь-які необхідні елементи (заголовки, посилання, ілюстрації). Всі теги - це якісь символи, тому на них не свариться спелчекер і вони не заважатимуться при читанні та редагуванні документа. Знов-таки Markdown підтримує безліч блог-движків, редакторів та інших додатків. Загалом, з 2012 року у нас багато що змінилося - ми впровадили спеціальний скрипт, що дозволяє конвертувати статтю в Markdown у верстку Adobe InDesign, і тепер усі статті в журналі, який ти тримаєш в руках, приймаються лише в ньому. Це значно зекономило час як авторам, так і дизайнерам.

Щоб ознайомитись із синтаксисом, зайди на сайт творця цієї мови, Джона Грубера. Ще один цікавий інструмент - додатковий інструмент розмітки CriticMarkup, що дозволяє оформляти у документі коментарі та виправлення. Щоб все це запрацювало в Sublime Text, на допомогу приходить плагін MarkdownEditing.

Після встановлення Package Control цей плагін ставиться однією командою: просто відкрий консоль редактора, набери install і вибери MarkdownEditing. Одним махом ти перетвориш зброю кодера на ідеальний інструмент письменника. Але плагін не лише додає підсвічування коду, а й змінює зовнішній виглядредактора. З'явиться світла тема оформлення, що нагадує про машинописні сторінки, а номери рядків та доповнення команд будуть відключені. Важливо: включати MarkdownEditing буде тільки для файлів з певним розширенням. Щоб вплинути на це, набери в консолі MarkdownEditing і вибери пункт з конфігом. До нього потрібно буде додати рядки:

( "extensions": [ "md", "mdown", "txt" ], )

Для Markdown є й інші плагіни, які мають інші корисні функції. Автор SmartMarkdown, наприклад, заявляє про можливість його плагіна схлопывать блоки тексту, відзначені заголовком, - так, як Sublime вміє схлопувати код. Однак цей режим роботи конфліктуватиме з MarkdownEditing. Зате є інша корисна функція- виведення статті у PDF. Для цього потрібно встановити систему інтерпретатор pandoc і вказати потрібний шлях у конфізі MarkdownEditing.

Перевірка орфографії

З коробки Sublime Text підтримує перевірку лише англійської орфографії, але це непросто виправити: достатньо завантажити словники, запозичені з OpenOffice, і зробити нескладну процедуру адаптації та установки, описану на сторінці GitHub.

Для користувачів OS X є спосіб ще краще - плагін CheckBounce, який дозволяє використовувати системну перевіркуорфографії. Не сказати, що вбудована перевірка OS X хороша, але з кожною версією системи вона стає все кращою і точно не поступається словникам OpenOffice. Плюс якщо ти часто додаєш якісь слова до словника, то зручно, щоб Sublime Text підхоплював усі ці зміни.

Ще один недолік - список варіантів заміни не відображається в контекстному менюна правому кліку. Натомість можна ставити курсор на слово з помилкою і натискати .

Лічильник слів

Ті, хто працює з текстом професійно та отримує оплату за кількість знаків або слів (як, наприклад, автори «Хакера»), не мислять життя без лічильника знаків у текстовому редакторі. Але і при написанні тексту для свого блогу індикатор кількості знаків буває недаремним як орієнтир - часто буває важливо вписатися в розміри того чи іншого блоку в верстці. Плагін, що встановлює лічильник у статусбар Sublime Text, носить нехитру назву WordCount. За замовчуванням кількість слів буде відображатися весь час, а також з'явиться цікава можливість бачити кількість знаків у поточному рядку (тобто абзаці). Якщо ж потрібно мати перед очима довжину всього документа в знаках, можна відкрити файл налаштувань WordCount і прописати:

( "enable_count_chars": true )

Підсвічування слів

Тавтологія - одна з головних проблем, що мають авторів текстів. Іноді пам'ять підводить нас і ми забуваємо, що щойно використовували якесь слово. Можна буровити абзаци поглядом, намагаючись визначити, чи не зустрічалося воно нещодавно, а можна поставити плагін WordHighlight і, клацаючи на слова, бачити їх підсвіченими у всьому документі. Ага! У попередній пропозиції два слова «можна»! Нічого страшного, це авторський задум.

Клікабельні посилання

Підсвічування синтаксису Markdown непогано доповнити ще одним плагіном - ClickableURLs. З назви зрозуміло, що він повинен робити клікабельні гіперпосилання, що зустрічаються в документі. На жаль, не все так просто: мабуть, програмні інтерфейси Sublime Text не дозволяють провертати плагін настільки складних трюків (принаймні, не порушуючи роботу інших функцій). Так що автори доповнення викрутилися, реалізувавши можливість відкривати посилання, коли на них встановлено курсор та натиснуто певне поєднання клавіш. У Windows та Linux це , в OS X - .

Автовизначення кодування

Плагін Encoding Helper призначений для автоматичного визначеннякодування файлів. Спочатку SublimeText усі документи відкриває в кодуванні Windows-1252 Western, і виходить, що старі файли, збережені в Windows-1251, DOS або KOI8-R, виглядатимуть невірно. Encoding Helper у таких випадках вгадує потрібне кодування і показує повідомлення в статусному рядку, що повідомляє, яке кодування використовується і яке, швидше за все, має бути. Автоматично перетворення не проводиться, зате в меню Edit з'явиться пункт, що дозволяє перевести документ в Unicode з кодування, яке визначив Helper. Якщо він визначив неправильно, можна самостійно вибрати потрібне кодування з його меню.

Історія буфера обміну

Нерідко при копіюванні тексту в голові крутиться думка, чи вже не лежить у буфері обміну щось цінне, що потрібно спочатку кудись вставити, перш ніж знову використовувати буфер. Від цього вантажу можуть позбавити багато спеціалізованих утиліт, які працюють не тільки з Sublime. Однак і плагін такий теж існує - він називається Clipboard History. Працює дуже просто: натискаємо поєднання (або дикувате в OS X) і бачимо всі попередні записи, що потрапляли до буфера обміну. Вибираємо будь-яку та вставляємо в текст. Щоб не відкривати меню, можна натиснути (на маках) і відразу вставити запис, що передував поточному.

Списки справ


Експерти з продуктивності стверджують: справи потрібно обов'язково кудись записувати і не намагатися пам'ятати все! Sublime Text врятує і тут, особливо якщо забезпечити його плагіном PlainTasks. Після його встановлення та перезапуску Sublime насамперед рекомендується відкрити довідку PlainTasks. Тут докладно пояснено, як створювати нові справи. або залежно від системи), відзначати їх як виконані чи скасовані, постачати тегами тощо. Головний недолік цього плагіна - не можна просто клікнути по квадратику, що стоїть перед рядком, щоб поставити галочку. Тут ми вкотре стикаємося з обмеженнями плагінів Sublime.

Крім того, PlainTasks замінює Clickable URLs, додаючи власне поєднання клавіш для відкриття посилань. Вигідна відмінність: працюватимуть і посилання на файли на жорсткому диску, причому можна вказувати прямо на потрібний рядок. Незамінно, якщо враховувати, що справи таким чином можна безпосередньо пов'язувати з файлами.

Це текстовий редактор, який ви закохаєтеся, як заявляють його творці ( Sublime Text: The Editor editor "Випадок в love with). Заява смілива, але з нею складно не погодитися: багато хто полюбив цей продукт. Причин багато: кросплатформенність, підтримка плагінів, неймовірно продумане мультивиділення, приємний зовнішній вигляд та багато іншого – для кожного своє. Але й у цій бочці меду знайшлося місце для кількох грам дьогтю, але його можна без особливих проблем звідти витягнути. Як – тут і дізнаєтесь.

Налаштування всього і вся у Sublime Text зберігаються у форматі JSON, основні налаштування можна викликати через меню "Preferences - Default". Через "Preferences - User" можна переглянути налаштування користувача. Тобто, налаштувавши Sublime Text один раз можна зберегти ці настойки собі та відновлювати щоразу після встановлення на будь-якому комп'ютері – це зручно. Опис кожної настройки додається - це також зручно. Ну, далі про дьоготь.

Кодування

Проблема кодування- З нею стикаються всі, чий проект написаний на кодуванні win1251. Програма автоматично визначає кодування ASCII, UTF-8 та UTF-16, решта за замовчуванням виставляються у "Western (Windows 1252)", що призводить до сумного вигляду кирилиці типу цього - ß ãðóñòíàÿ êèðèëëèöà . За кодування, яке виставляється при невдалому її визначенні, відповідає настройка "fallback_encoding", за замовчуванням вона, як вище згадав, "Western (Windows 1252)". Є два варіанти як змінити налаштування: або переписати їх у стандартних налаштуваннях, або додати до користувача. Друге краще, і в минулому абзаці написано чому. Ну і, власне, скористаємося другим варіантом і гордо додамо в налаштування користувача значення:

"fallback_encoding" : "Cyrillic (Windows 1251)"

Не варто забувати, що налаштування зберігаються у форматі JSON , так що при допущенні синтаксичних помилок ви насолоджуватиметеся виглядом приблизно такого вікна:

Дізнатися поточне кодування файлу можна різними способами, є спеціальні плагіни (наприклад, пакет Encoding Helper), але мені більше подобається варіант зробити його самому. Приклад написання такого найпростішого плагіна можна буде переглянути в іншій статті (на стадії написання, посилання буде тут).

Гарячі клавіші

Не вистачає гарячих клавішдля звичних чи часто використовуваних дій? Не біда – у Sublime Text налаштовується майже все! Так що викликаємо пункт меню "Key Bindings - Default" і вивчаємо вміст відкритого конфігураційного файлу. Це все той самий знайомий нам JSON. Ось приклад однієї з найпростіших гарячих клавіш:

( "keys" : [ "ctrl+s" ] , "command" : "save" )

Все зрозуміло інтуїтивно – клавіші та команда. Як дізнатись назву команди, на яку Ви хочете повісити гарячі клавіші? Все просто - відкриваємо консоль (Ctrl+` або View - Show Console) і вводимо команду:

sublime.log_commands (True)

Тепер ми бачимо в консолі всі операції, що проводяться в редакторі. Для прикладу додамо гарячі клавіші для перекладу регістру тексту в заголовок ( Edit - Convert Case - Title Case). Виведення команд увімкнено, так що викликаємо цей пункт меню і дивимося в консоль. Бачимо:

command: title_case

Усі налаштування в Sublime Text поділяються на дефолтні та користувацькі, налаштування клавіш – не виняток. Тому викликаємо "Key Bindings - User" і пишемо налаштування туди. Команда відома, питання залишилося у поєднанні клавіш. Зайнятих комбінацій багато (в Sublime Text 2 їх 250), так що, перш ніж використовувати комбінацію, перевірте, чи використовується вона вже - комбінації з користувальницького набору затирають дефолтні. Потикавшись, знаходимо незайняту комбінацію і пишемо у файл налаштувань:

[
( "keys" : [ "ctrl+alt+shift+t" ] , "command" : "title_case" )
]

Перезапускати редактор не потрібно – всі налаштування він підхоплює нальоту при збереженні. Так що відкриваємо якийсь файл, виділяємо слово або ставимо в нього курсор, тиснемо наше обране поєднання клавіш "ctrl+alt+shift+t" і бачимо, що праця наша була не дуже марною.

Коментарі підтримуються, тому тимчасово непотрібні дії можна закоментувати:

[
// ( "keys": ["ctrl+alt+shift+t"], "command": "title_case" )
]

Схема кольорів

Багато хто стикається з незручною для них колірною схемоюЦе змінюється ще простіше.

Найбільш класичною схемою є "iPlastic". Всі схеми є окремими файлами, мають розширення *.tmTheme і є XML-файл. Так що їх можна редагувати, завантажувати, підставляти, ділитися ними тощо. Знаходяться вони (на прикладі другої версії Sublime Text) у папці " %USERPROFILE%\AppData\Roaming\Sublime Text 2\Packages" для windows, " ~/.config/sublime-text-2/Packages" для Linux та " ~/Library/Application Support/Sublime Text 2/Packages/для OS X.

Плагіни

Для Sublime Text написано чимало плагінів, доступні через меню Preferences - Package Control. Якщо у Вас немає цього пункту меню, прочитайте інструкцію з установки, яка знаходиться за цією адресою .

Створення найпростішого плагіна

Задамося метою виводити поточне кодування файлу у спливаючому вікні за поєднанням клавіш Shift+F1. Для початку треба виконати команду Tools - New Pluginі в файлі вставити:

import sublime, sublime_plugin
class EncodeAlertCommand(sublime_plugin.TextCommand ) :
def run(self, edit):
sublime.message_dialog (self .view .encoding () )

Так, плагіни Sublime Text пишуться на Python.
Функція self.view.encoding()повертає поточне кодування файлу. Перевірити результат можна в консолі програми, виконавши view.encoding().
Функція sublime.message_dialog(string)викликає діалогове вікно з текстом stringвсередині.

Залишається поставити методом гарячу клавішу: Preferences - Key Bindings - User. В даний JSON додати елемент:

( "keys" : [ "shift+f1" ] , "command" : "encode_alert" )

Для перевірки відкриваємо цікавий файл і тиснемо Shift+F1.

У початківців і розробників можуть виникнути проблеми з кодуванням в sublime text 3. Проблема ця найчастіше виражається в ієрогліфах замість символів. Таке можливо коли файл був збережений у старому кодуванні windows-1251, яке зараз уже не використовується для файлів html, php і т.д. Це легко вирішити за кілька хвилин.

Як дізнатися про поточне кодування файлу?

Перший спосіб дізнатися про кодування це через консоль, натискаємо Ctrl+` або View -> Show Console і в консоль друкуємо наступну команду view.encoding() .

Другий варіант це в налаштуваннях користувача додати "show_encoding": true. Заходимо в Preferences -> Settings і додаємо налаштування.

Кодування буде відображатися в статусі барі (status bar), якщо його у вас не видно увімкніть через View -> Show Status Bar

Sublime text 3 Як змінити кодування?

Щоб змінити кодування, необхідно перевідкрити файл заново або перезберегти. Перший варіант заново зберігаємо файл через File -> Save with Encoding зі списку вибираємо utf-8, після цього необхідно закрити і відкрити файл.

Також ми можемо зробити аналогічні дії через File -> Reopen with Encoding.
після цих дій проблема має виправитися.

Існує другий варіант це використовувати плагін EncodingHelper. Я особисто ним не користувався, тому що немає потреби. Якщо у вас є бажання, можете спробувати.

Особливості плагіна:

  • Визначає кодування файлів.
  • Показує кодування у рядку стану.
  • Перетворює з UTF-8 на список кодувань, які є в меню.
  • Перетворює на UTF-8 швидко від поточного кодування через меню.
  • Автоматично конвертує в UTF-8 при відкритті файлу використовуючи певні кодування в налаштуваннях користувача./li>

Питання пов'язані з кодуванням у редакторі sublime text 3 не такі страшні, як здаються на перший погляд. Сподіваюся, стаття вам допомогла. При необхідності пишіть у коментарях, радий допомогти.