Нотатки розсіяного адміністратора - Використання підсвічування синтаксису
КЕРІВНИЦТВО КОРИСТУВАЧА VIM - Брам Мооленаар
Використання підсвічування синтаксису
Чорно-білий текст це нудно. Кольори приносять життя. Колір не лише виглядає красиво, а й допомагає швидше працювати. Ви можете змінювати кольори, які використовуються для відображення різних фрагментів тексту. Ви також можете друкувати текст тими кольорами, які ви бачите на екрані.
06.1 Як увімкнути?
Все чаклунство починається з однієї простої команди:
У більшості ситуацій цього має бути достатньо для того, щоб у вашому файлі з'явилося колірне підсвічування синтаксису. Vim автоматично визначить тип файлу та завантажить відповідні правила підсвічування. Коментарі стануть синіми, ключові слова – коричневими, а рядки червоними. Переглядати файл стає легко та приємно. Через деякий час ви почнете розуміти, як складно розумітися на простому чорно-білому тексті!
Якщо ви завжди хочете використовувати підсвічування синтаксису, помістіть команду ":syntax enable" у файл vimrc.
Якщо ви хочете, щоб підсвічування синтаксису працювало лише з терміналами, які підтримують колір, то ви можете помістити у файл vimrc наступний код:
Якщо ж ви хочете, щоб підсвічування синтаксису працювало тільки у версії з графічним інтерфейсом, помістіть команду "syntax enable" у файл gvimrc.
06.2 Неправильні або відсутні кольори
Можливо кілька причин, з яких ви можете не побачити кольори на екрані:
- Ваш термінал не підтримує кольори.
Vim буде використовувати жирний, похилий і підкреслений текст, але це буде виглядати не найкращим чином. Можливо, вам варто спробувати встановити термінал із підтримкою кольорів. Для Unix я рекомендую xterm з XFree86: xfree-xterm.
- Ваштермінал здатний відображати колір, але про це Vim не знає.
Переконайтеся, що налаштування змінної $TERM є правильним. Наприклад, для використання кольорового xterm:
або (залежно від використовуваної оболонки):
Ім'я терміналу повинно відповідати терміналу, який ви використовуєте. Якщо відображення кольорів все одно не працює, прочитаєте xterm-color, де пояснюється кілька способів змусити Vim показувати кольори (не тільки для xterm).
- Тип файлу не розпізнається.
Vim не може знати про всі існуючі типи файлів, і часом буває майже неможливо визначити, яка мова використовується у файлі. Спробуйте ввести таку команду:
Якщо результатом виявиться "filetype=", то проблема дійсно в тому, що Vim не знає, якого типу відноситься файл. Ви можете встановити тип файлу вручну:
Щоб переглянути, які типи файлів доступні, загляньте в каталог $VIMRUNTIME/syntax. Якщо ви використовуєте графічний інтерфейс, можна скористатися меню "Синтаксис". Встановити тип файлу також можна за допомогою режимного рядка, щоб файл правильно визначався щоразу, коли ви його редагуєте. Наприклад, у Makefile можна використовувати такий рядок (її слід помістити біля початку або кінця файлу)
Часто визначення типу файлу використовується розширення. також новий_тип_файлу, де розповідається про те, як підказати Vim який тип файлу використовувати.
- Для цього типу файлу немає правил підсвічування синтаксису.
Ви можете спробувати використовувати схожий тип файлу, встановивши його вручну, як показано вище. Якщо цього недостатньо, можна написати власні правила підсвічування для файлів такого типу, див. свій_файл_синтаксису.
Кольори також можутьвідображатися неправильно:
Для світлого фону:
Переконайтеся, що ви помістили цю команду _до_ команди ": syntax enable", інакше кольори будуть вже встановлені. Після встановлення 'background' можна використовувати команду ":syntax reset", щоб Vim відновив кольори за промовчанням.
- Кольори порушуються при прокручуванні знизу нагору.
Vim не читає весь файл повністю, коли розуміється на тексті. Натомість він розбирає тільки той фрагмент, який ви бачите. Це дозволяє працювати набагато швидше, але при цьому кольори можуть порушуватись. Простий спосіб поправити положення - оновити екран CTRL-L, або прокрутити екран трохи назад і знову вперед. Для вирішення проблеми зверніться до: syn-sync. Деякі правила синтаксису дозволяють заглядати назад у тексті, дивіться файл довідки для відповідного файлу з правилами підсвічування. Наприклад, для синтаксису TeX див. tex.vim.
06.3 Різні кольори
Якщо вас не влаштовують кольори за замовчуванням, ви можете вибрати іншу колірну схему. У графічному інтерфейсі для цього є меню Редагувати/Колірна схема. Крім того, можна ввести команду:
"evening" (вечір) - це ім'я колірної схеми. Разом з Vim поставляється кілька колірних схем, які можна спробувати. Загляньте у каталог $VIMRUNTIME/colors.
Якщо вам сподобається якась схема, не забудьте додати відповідну команду ":colorscheme" у файл vimrc.
Крім того, ви можете написати власну схему кольору. Ось як це робиться:
1. Виберіть потрібну колірну схему, яка нагадує те, що вам потрібно. Скопіюйте її у ваш власний каталог Vim. Наприклад, на Unix:
Це потрібно робити з Vim, оскільки Vim знає значення $VIMRUNTIME.
2. Відредагуйте файлколірної схеми. Ось корисні змінні: