Статьи

Sublime Text 2/3 - поради та хитрості

  1. Регулярні вирази в Sublime Text 2
  2. «Капіталізація» тексту
  3. Vintage mode в Sublime Text 2
  4. Копіювання шляху до поточного файлу в Sublime Text 2
  5. Проекти в Sublime Text 2
  6. Поділ вікна в Sublime Text 2
  7. Робота в режимі room-редактора в Sublime Text 2

Ця стаття є заключною в серії статей про чудовому редакторі Sublime Text 2.

Крім загального зручності використання, в Sublime є безліч радують око дрібних фішок. Наприклад, сесії, в рамках яких зберігаються не тільки відкриті вкладки, але зміни в незбережених файлах.

Також корисною виявляється можливість перегляду файлів без їх відкриття (в процесі ходіння по дереву файлів в бічній панелі). Прокрутка в редакторі може здійснюватися нижче останнього рядка, тобто останній рядок можна сфокусувати в середній частині вікна. І подібних булочок - сила-силенна. Деякі тонкощі і неочевидні фішки роботи з Sublime я і розберу в цій статті.

Регулярні вирази в Sublime Text 2

І в першу чергу ми розберемо на прикладі, як використовувати регулярні вирази при роботі з Sublime Text 2. Регулярні вирази - це найпотужніший інструмент, добре відомий програмістам. Однак він може бути корисний не тільки програмістам, але і всім людям, які працюють з кодом або простим текстом. Регекспи (від RegExp) здатні значно полегшити вам життя і автоматизувати рутинні операції. І вони просто незамінні при необхідності пошуку і заміни тексту за певними ознаками.

«Капіталізація» тексту

Припустимо, нам потрібно прописати з великої літери кожне слово тексту, укладеного в певні теги. Як це можна зробити? Можна знайти кожне входження тега і вручну змінити його вміст. Але це довгий і виснажливий спосіб, тому ми підемо іншим шляхом.

маленька хитрість

У Sublime є інструмент для подібного управління регістром символів, і знаходиться він в меню за адресою Edit → Convert Case → Title Case. Той же інструмент доступний при пошуку в командній панелі - натисніть Ctrl + Shift + P і наберіть там слово title, або наберіть слово case, щоб побачити інші доступні варіанти маніпуляцій з регістром. Природно, попередньо потрібно виділити текст, з яким ви хочете проводити маніпуляції.

Наступний варіант, який приходить в голову - використовувати множинні курсори для виділення тексту в декількох місцях і подальшої зміни регістра (див. Врізку вище). Але цей спосіб як і раніше занадто повільний, особливо якщо потрібно обробити подібним чином велику кількість тексту.

І тут нам на допомогу приходять регулярні вирази.

Натисніть Ctrl + I для використання послідовного пошуку (я вже писав про нього в однією з попередніх статей ). У панелі, що з'явилася в нижній частині редактора можна набирати пошукові запити в тому числі з використанням регулярних виразів. Наприклад, для знаходження всіх входжень тега h2 необхідно ввести наступний рядок:

<H2>. + </ H2>

В наведеному вище прикладі точка уособлює собою будь-який символ, а знак + вказує, що допустимо будь-яку кількість входжень зазначеного символу. Докладний синтаксис регулярних виразів ви можете знайти на спеціалізованих ресурсах (почати можна з уже згаданої сторінки у Вікіпедії ).

Однак за замовчуванням регулярні вирази в пошуковій формі не обробляються. Для того, щоб вони заробили, необхідно натиснути кнопочку з символом * на тій же пошуковій панелі. Того ж ефекту можна домогтися, натиснувши Ctrl + R (при цьому пошукова панель повинна бути активна).

Тепер Sublime повинен підсвітити найближчим входження заданій послідовності.

Ця стаття є заключною в серії статей про чудовому редакторі Sublime Text 2

Для того ж, щоб виділити всі входження цієї послідовності, необхідно (при активній пошуковому рядку) натиснути Alt + Enter. При цьому кожне входження буде виділено окремо, використовуються вже знайомі нам по одній з попередніх статей множинні курсори.

При цьому кожне входження буде виділено окремо, використовуються вже знайомі нам   по одній з попередніх статей   множинні курсори

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

Але після її застосування виявляється неприємність - з великої літери починається кожне слово, крім першого:

Це відбувається тому, що між відкриває тегом h2 і першим словом заголовка немає пробілу, відповідно вся послідовність сприймається редактором як одне слово. Але цю непріяность легко виправити, потрібно лише злегка змінити наше регулярний вираз:

(? <= <H2>). + (? = </ H2>)

Тим самим ми шукаємо ту ж послідовність, але виключаємо з виділення сам тег, залишаючи тільки його вміст:

Тим самим ми шукаємо ту ж послідовність, але виключаємо з виділення сам тег, залишаючи тільки його вміст:

І якщо після цього виконати команду Title Case, то на цей раз ми доб'ємося саме того ефекту, якого хотіли:

І якщо після цього виконати команду Title Case, то на цей раз ми доб'ємося саме того ефекту, якого хотіли:

Природно, це далеко не єдиний спосіб використання регулярних виразів. Але мета цієї статті - не розібрати всю їхню розмаїтість, а показати, що використовуючи регекспи можна значно полегшити собі життя, а також показати, як саме здійснюється робота з регулярними виразами в Sublime Text 2. Природно, використовувати їх можна не тільки на панелі послідовного пошуку (Ctrl + I), але також і при звичайному пошуку (Ctrl + F, або при пошуку і заміні (Ctrl + H).

Vintage mode в Sublime Text 2

Суворі користувачі суворого консольного редактора Vi можливо будуть раді, дізнавшись, що в Sublime Text 2 є режим роботи Vintage mode, який дозволяє в деяких моментах змусити вести себе як Vi. Втім, цей режим можливо припаде до душі і менш суворим користувачам, які не використали Vi, але просто хочуть перейти на новий рівень роботи з редактором.

Перше, що потрібно зробити - це активувати Vintage mode в Sublime (за замовчуванням він відключений). Зробити це можна ручної правкою конфігов, але набагато простіше це зробити за допомогою вже знайомого нам по одній з попередніх статей Package Control. Отже, Ctrl + Shift + P → Enable Package → Vintage.

На перший погляд нічого не змінилося, але варто натиснути клавішу Esc, і текстовий курсор змінить свій зовнішній вигляд, що сигналізує нам про те, що редактор працює в Vintage mode.

В цьому режимі з'явився новий спосіб переміщення текстового курсора за кодом (поряд з курсорними клавішами) - для переміщення курсору вгору використовується клавіша k, вниз - j, вправо - l, і вліво - h. Який в цьому сенс і чим не догодили курсорні клавіші? А сенс в тому, щоб ваші руки не покидали центральній частині клавіатури (завдяки чому швидкість роботи збільшується).

Мало того, подібним способом можна переміщатися по коду із заданим кроком. Наприклад, послідовне натискання 5 і j перемістить курсор на 5 позицій вниз.

Подібні послідовності з декількох символів дозволяють при належних знаннях і вправності витворяти з текстом чудеса за частки секунди. Так, наприклад, послідовне натискання v, i і w спочатку переключить редактор в так званий візуальний режим, а потім виділить слово під курсором (той же ефект досягається в Sublime натисканням Ctrl + D).

Якщо курсор встановлений на послідовності символів, укладених в одинарні лапки, то послідовне натискання клавіш c (від слова «change»), i (від «inner») і 'дозволить змінити вміст, укладену в лапки (видаливши його і встановивши курсор між лапок) . Точно так же послідовне натискання v, i і 'в тому ж випадку просто виділить вміст лапок. Звичайно, якщо між лапками укладено лише одне слово, то Ctrl + D може здатися більш зручним способом для виділення, але якщо між лапками укладено кілька слів (або навіть кілька рядків), то «Vintage mode» явно виграє в швидкості. Природно, точно так же можна міняти вміст, укладену, наприклад, між подвійними лапками, або в дужках.

Наведу ще кілька прикладів використання Vintage mode.

Послідовне натискання клавіш c + 5 + w ( «change 5 words») дозволить змінити 5 слів, такі після курсору. А послідовність v + 5 + w цілком передбачувано виділить 5 слів, таких після курсору.

Послідовність v + t +, виділить весь текст від курсора до ( «till») найближчій коми. А послідовність v + f +, зробить таке ж виділення, але включить в нього ще й саму кому.

Натискання клавіші A перемістить курсор в кінець рядка. Для переміщення в початок рядка потрібно натиснути клавішу I. Кнопка V виділить всю поточну рядок. Для копіювання виділеного тексту використовується Y ( «yank»), а для вставки - P ( «paste»). Для видалення виділеного тексту досить натиснути D. Для видалення поточного рядка потрібно послідовно натиснути D + D (саме так, двічі). З чого цілком логічно випливає, що для копіювання поточного рядка потрібно послідовно натиснути Y + Y.

Клавіша. використовується для повторення останньої дії. Наприклад, якщо ви скопіювали і вставили якусь рядок, то натискання на. вставить ще одну таку ж рядок.

На перший погляд може здатися, що такий підхід надмірно гіковскіе і занадто складний в освоєнні, але на практиці виявляється, що такі комбінації в силу їх логічності для багатьох людей (особливо володіють англійською) запам'ятати легше, ніж безліч клавіатурних скорочень звичайного робочого режиму в Sublime . Справа звички.
Мало того, ніхто не змушує відмовлятися від стандартних прийомів роботи в Sublime при використанні Vintage mode. Можна використовувати обидва режими роботи одночасно (стандартні можливості як і раніше працюють і в Vintage mode), і такий підхід може виявитися досить ефективним.

Копіювання шляху до поточного файлу в Sublime Text 2

Здавалося б, копіювання шляху до поточного файлу - це просте завдання, з якою справляється більшість нормальних редакторів. Однак Sublime Text 2 надає безліч варіантів подібного копіювання, тому я виніс цю можливість окремим пунктом.

Якщо ви викличте командний панель (Ctrl + Shift + P) і наберете в ній слово copy, то зможете побачити все різноманіття надаються варіантів:

Пройдуся по деяким з доступних варіантів.

  • File: Copy Name - копіювання імені файлу.
  • File: Copy Path - копіювання повного шляху до файлу (від кореня файлової системи).
  • File: Copy Path From Project - копіювання шляху до файлу від кореневої папки поточного проекту.
  • File: Copy as Tag a - копіювання шляху до файлу в вигляді тега a. Дуже зручно, якщо вам потрібно вставити кудись посилання на поточний файл.
  • File: Copy as Tag style - копіювання у вигляді посилання на файл стилів. Дуже зручно, якщо ви редагуєте файл стилів і хочете вставити на нього посилання в html / php файл.

Мало того, цей список може змінюватися в залежності від типу активного файлу. Наприклад, при редагуванні js-файлу в цьому списку також з'явиться пункт File: Copy as Tag script, при виборі якого в буфер обміну буде скопійований шлях до скрипту у відповідному форматі (знову ж для вставки в html / php файл).

Проекти в Sublime Text 2

Організація роботи з проектами - це чергове гідність Sublime Text 2 в порівнянні з іншими редакторами.

Організація роботи з проектами - це чергове гідність Sublime Text 2 в порівнянні з іншими редакторами

Створити проект в Sublime просто - для цього достатньо відкрити редактор, в командній панелі (Ctrl + Shift + P) набрати слово project і вибрати пункт Project: Save As. Для додавання папок в поточний проект можна скористатися пунктом Project: Add Folder. Якщо ж вибрати пункт Project: Edit, то можна вручну відредагувати параметри поточного проекту.

Наприклад, при роботі з CMS Joomla мені не потрібно працювати з усіма файлами ядра. Так навіщо ж відображати в дереві файлів все папки, якщо можна залишити тільки ті, з якими реально ведеться робота? Зробити це можна, відредагувавши список доступних в проекті папок (Project: Edit):

Причому, як правило, всі зміни в Sublime застосовуються миттєво - відразу ж після збереження нового списку папок ви побачите зміни на бічній панелі.

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

А ще в Sublime можна для кожного проекту задати свої власні локальні настройки - розмір табуляції, відстань між рядками і т.п. - все що завгодно. Підглянути жодних певних установок можна в файлі дефолтних налаштувань редактора (Preferences → Settings - Default).

Підглянути жодних певних установок можна в файлі дефолтних налаштувань редактора (Preferences → Settings - Default)

Перемикатися між різними проектами в Sublime дуже просто - для цього достатньо натиснути комбінацію Ctrl + Alt + P і вибрати потрібний проект в загальному списку доступних проектів (в який автоматично потрапляють всі створені в Sublime проекти). Природно, якщо проектів багато, то зовсім необов'язково вишукувати потрібний в загальному списку, на цій панелі працює нечіткий пошук. Досить набрати кілька букв з назви проекту і натиснути Enter.

Ще чудеснее, що при подібному перемиканні між проектами в кожному проекті зберігається своя власна сесія. Тобто при перемиканні між різними проектами в них будуть зберігатися відкриті вкладки і навіть зміни в незбережених файлах.

Поділ вікна в Sublime Text 2

Ще одна крута фішка в Sublime Text 2 - це можливість розділяти вікно на декілька частин, створюючи при цьому подібність тайловой структури. Вірніше, це навіть крутіше звичайної тайловой структури, оскільки в кожній частині при подібному поділі можна не тільки відкрити окремий файл, але для кожної частини також може бути свій набір вкладок (які можна перетягувати між різними елементами мозаїчної структури).

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

Вибрати бажаний тип компонування можна в меню в групі пунктів View → Layout, або ж використовуючи цифрові клавіші з затиснутими Shift + Alt. Можна перетягувати вкладки з однієї групи в іншу за допомогою ПКМ, або ж використовувати для цього цифрові клавіші з затиснутими Shift + Ctrl. Фокус між різними групами можна перемикати не тільки мишею, але і все тими ж цифровими клавішами з затиснутим Ctrl.

Якщо вам мало дефолтних варіантів компонування, ви можете додати свої власні. Наприклад, розділити вікно на дві нерівні частини - одна буде займати третину вікна, друга відповідно дві третини. Загляньте в файл дефолтних клавіатурних комбінацій і зверніть увагу на команди set_layout - ви можете за аналогією додати в файл призначених для користувача комбінацій свої варіанти.

Робота в режимі room-редактора в Sublime Text 2

Якщо ви знайомі з таким поняттям, як room-редактори, то будете приємно здивовані, що в Sublime є і подібна можливість. Для необізнаних скажу, що в подібному режимі редактор розгортається на весь екран, залишаючи тільки простір для роботи. Ховаються всі відволікаючі увагу елементи - як системні, так і власне елементи управління редактором. На цю тему я навіть колись писав окрему статтю .

Щоб перевести Sublime в такий режим, досить натиснути Shift + F11.

Зверніть увагу, що навіть в повноекранному режимі текст не розтягується на всю ширину екрану (що було б незручно), а розташовується в максимально комфортному для роботи вигляді.

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

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

Рекомендую також ознайомитися з іншими моїми статтями з циклу про Sublime, якщо ви до сих пір цього не зробили:

Як це можна зробити?
Який в цьому сенс і чим не догодили курсорні клавіші?
Так навіщо ж відображати в дереві файлів все папки, якщо можна залишити тільки ті, з якими реально ведеться робота?

Новости