Включение подсветки синтаксиса в vim
Не понимаю, каким образом мне включить в vim’e подсветку синтаксиса С++. в /usr/share/vim/vim81/syntax/ лежат файлы с настройками под какждый язык, но я не совсем понимаю, как их подключить. Прошу прощения за крайне глупый вопрос.
Отслеживать
задан 1 авг 2021 в 14:29
3 2 2 бронзовых знака
Оно «Turn On or Off Color Syntax Highlighting In vi or vim Editor — nixCraft» cyberciti.biz/faq/…
1 авг 2021 в 15:17
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
TL;DR: :filetype on | syntax on
В Vim’е синтаксис и иже с ним реализованы стандартными плагинами на VimScript’е с помощью механизма событий и автокоманд ( :h autocmd.txt ).
Когда Vim считывает файл с диска генерируется событие BufRead ( BufNewFile если такого файла в файловой системе пока не существует). Это событие может быть обработано одной из автокоманд определенных в скрипте $VIMRUNTIME/filetype.vim . Загрузка этого скрипта обычно производится специальной командой :filetype on . Сам же скрипт по большей части состоит из проверок расширения файла и установок соответствующего значения опции :h ‘filetype’ (очевидно, что расширение файла не всегда совпадает с его типом, например, файл foobar.h может иметь тип c , либо вообще cpp , ну а какой-нибудь foobar.sh — это вообще зоопарк и угадайка).
Из вышесказанного следует, что, в принципе, :filetype on не обязателен (всегда можно взять и напечатать в командной строке :set filetype=XXX , либо :setf XXX ), но желающие указывать нужный тип файла каждый раз руками находятся редко.
Установка нового значения опции :h ‘filetype’ ведет к автоматической генерации события FileType . И, опять же, событие FileType может быть перехвачено соответствующими автокомандами из других скриптов. Таких стандартных скриптов есть аж три штуки: $VIMRUNTIME/ftplugin.vim (сорсится по команде :filetype plugin on ), $VIMRUNTIME/indent.vim (команда :filetype indent on ) и $VIMRUNTIME/syntax/syntax.vim (команда :syntax on ). Ftplugin отвечает за установку различных буферно-локальных опций, Indent — за определение функции расчета отступа строк, ну а третий, как не трудно догадаться, за определение синтаксических элементов.
Однако на самом деле по событию FileType автокоманда из syntax.vim всего лишь устанавливает значение еще одной опции — :h ‘syntax’ . И уже изменение опции :h ‘syntax’ (опять. ) генерирует новое событие Syntax . И вот только по событию Syntax следующая автокоманда читает значение опции &syntax для текущего буфера и подгружает нужный скрипт из подкаталога syntax с именем совпадающим со значением этой опции.
Из этого, кстати, следует, что можно переназначить текущий синтаксис командой :set syntax=XXX . Однако при следующем событии FileType для этого буфера (например, перезагрузка с диска командой :e ), все слетит на текущий &filetype .
Поэтому существует также возможность отвязать &syntax от &filetype командой :syntax manual . Тогда событие FileType перехватываться не будет, а вот событие Syntax — все еще да. Но в этом случае установку опции &syntax всегда нужно будет делать вручную.
И последнее. «Синтаксис» в Vim — это, грубо говоря, набор регулярных выражений ( :h :syn-match и все-все-все), который меняется от буфера к буферу. Конкретные же цвета должны определяться глобально с помощью так называемых «цветовых схем» (на самом деле «схема» — это все тот же VimScript просто состоящий в основном из команд :h :highlight ). Поэтому полученный результат будет зависеть и от файла синтаксиса, и от цветовой схемы, и от способности терминала эти самые цвета воспроизвести.
Как включить подсветку синтаксиса в Vim
Мануал
Автор cryptoparty На чтение 3 мин Опубликовано 18.04.2022
Когда вам приходится редактировать несколько файлов в Vim из терминала, приятно, когда синтаксис содержимого файла подсвечивается.
Чтобы включить подсветку синтаксиса в Vim во время работы с ним, перейдите в обычный режим с помощью клавиши Esc, а затем введите:
:syntax on
Это просто, верно?
Позвольте мне рассказать подробнее о том, как это работает и как вы можете сделать эти изменения постоянными.
Подсветка синтаксиса в Vim
Выделение синтаксиса – это выделение цветом группы слов, например, ключевых слов, иначе, чем других групп слов, например, имен переменных и т.д..
Благодаря этому вы можете легко отличить одно слово от другого, будь то ключевое слово, данные, переменная, константа и т.д.
Подсветка синтаксиса в Vim не ограничивается только скриптовыми языками (такими как sh, bash и т.д.) и языками программирования (такими как python, rust, c, cpp и т.д.).
Я использовал Vim для редактирования apache2.conf и smb.conf и могу сказать, что он работает практически со всеми типами файлов.
Если вы уже открыли файл в Vim, ниже описаны шаги для включения подсветки синтаксиса:
- Нажмите клавишу Escape (Esc), чтобы войти в обычный режим Vim.
- Введите символ двоеточия :, чтобы указать, что вы вводите команду.
- После двоеточия введите syntax on.
Здесь вы можете видеть, как обычные белые линии меняют цвет после включения подсветки синтаксиса в Vim.


Включить подсветку синтаксиса по умолчанию
Если вам нравится подсветка синтаксиса и вы хотите сделать это изменение постоянным, вы можете добавить следующую строку в свой ‘vimrc’ (должен находиться по адресу ~/.vimrc):
syntax on
Если у вас проблемы с тем, что Vim не обнаруживает некоторые типы файлов, добавьте следующую строку в ‘vimrc’:
syntax on filetype on
Отключить подсветку синтаксиса
Если по какой-то причине вам не нравится подсветка синтаксиса, вы можете отключить ее, выполнив следующие действия:
- Нажмите клавишу Escape (Esc), чтобы перейти в обычный режим.
- Введите символ двоеточия :, чтобы указать Vim интерпретировать следующие нажатия клавиш как команду.
- Теперь введите Синтаксис выключен.
Заключение
В Vim есть функция выделения синтаксиса определенного типа файлов разными цветами.
Мы рассмотрели, как включить эту функцию, сделать ее постоянной и как ее отключить.
- Как защитить паролем текстовые файлы с помощью редактора Vim в системах Linux
- Vim советы – редактируйте удаленные файлы с помощью Vim на Linux
- Как защитить паролем файл с помощью VIM
Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий Отменить ответ

Поддержать нас
- Аудит ИБ (49)
- Вакансии (12)
- Закрытие уязвимостей (110)
- Книги (27)
- Мануал (2 368)
- Медиа (66)
- Мероприятия (39)
- Мошенники (23)
- Обзоры (833)
- Обход запретов (34)
- Опросы (3)
- Скрипты (117)
- Статьи (361)
- Философия (127)
- Юмор (19)
Наш Telegram

Социальные сети
Поделиться
Anything in here will be replaced on browsers that support the canvas element
- Защита от сканеров портов на Linux 22.11.2023
1. Обзор В этом учебном пособии мы рассмотрим, как можно настроить наши Linux-системы, чтобы предотвратить определение сканерами портов типов служб и портов в нашей системе. Существуют различные способы защиты наших компьютеров от сканирования портов Nmap. Мы рассмотрим iptables и системы обнаружения вторжений (IDS). 2. Использование iptables В этом разделе мы создадим правила iptables для контроля […]
Существуют способы обнаружения скрытого или приватного содержимого, спрятанного на веб-сервере. Давайте посмотрим, как можно обнаружить это неуловимое содержимое Введение в обнаружение контента Что такое обнаружение контента? Обнаружение контента – это поиск контента, недоступного обычному пользователю, контента, к которому разработчики сайта не предполагали предоставлять вам доступ. Это могут быть видеоролики, изображения, функции сайта, доступные только администраторам, […]
Фильтрация по MAC-адресу в Wireshark очень полезна, так можно показать все сетевые пакеты от определенного устройства. Ниже показан простой фильтр. И вот еще один пример. с Очень полезный прием Wireshark. Фильтр по IP-адресу Еще один прием – фильтрация по определенному IP-адресу, вот как это сделать. Для фильтрации по IP-адресу источника используйте этот фильтр. Фильтрация TCP-пакетов […]
Как сделать терминал как в фильмах про хакеров? Используйте эту полезную утилиту для создания красивого UNIX-терминала в стиле хакера, используя командную строку Linux. Утилита Hollywood создаст набор красивых программ, запускаемых в терминале, чтобы он выглядел как типичный голливудский образ UNIX-терминала в подвале хакера. Это позволит вызвать различные полезные программы для создания красивого анимированного терминала. Ниже […]
Команда chmod используется для назначения прав на файлы и каталоги в системе Linux. Chmod может принимать различные синтаксисы, такие как символьный режим и абсолютный режим, поэтому при изучении различных способов использования chmod может возникнуть некоторое замешательство. Когда речь идет о предоставлении пользователю прав на выполнение, часто используются опции u+x и +x из-за их простого и […]
Цвета в консоли PuTTY — Установка и Настройка Цветовых Схем
Эмулятор терминала PuTTY интерпретирует большую часть управляющих последовательностей XTerm-подобных терминалов, понимает ANSI-графику, имеет полноценную поддержку 256 цветов. Пользователь имеет возможность настраивать внешний вид консоли PuTTY, изменяя отображение системных ANSI-цветов.
Поддержка Цветов в PuTTY
Перед настройкой цветовых схем, проверим состояние нескольких параметров конфигурации вашего сеанса PuTTY:
В панели «Окно/Цветовая схема»:
- Параметр «Разрешить терминалу задавать ANSI цвета» — включить.
- Параметр «Разрешить терминалу использовать 256-цветный режим xterm» — включить.
- Параметр «Выделять полужирный текст изменением» — указать «Цвет» или «Шрифт и Цвет».
В панели «Терминал»:
- Параметр «Использовать цвет фона для очистки экрана» — включить.
В панели «Соединение/Данные» (доступно до подключения), в поле «Строка типа терминала» указать:
- xterm-256color — для полноценной работы PuTTY с Emacs/Vim, при подключении к Mac OS X, для других современных приложений;
- или xterm-color — некоторые скрипты (в т.ч. .bashrc в Ubuntu) до сих пор активируют поддержку цветов только при данном значении переменной TERM .
(Переменная окружения TERM не влияет на способность PuTTY воспринимать цвета, она лишь сообщает серверным приложениям о типе терминала, о количестве поддерживаемых цветов. Даже при xterm-color (поддержка 16-ти цветов) PuTTY сможет отображать 256 цветов в приложениях, которые об TERM не спрашивают.)
Если всё настроено правильно, вывод скрипта 256colors2.pl должен быть следующим:

Настройка Цветовой Схемы
Режим 256-цветов используют лишь некоторые программы, в обычной же работе с терминалом, применяются только системные ANSI-цвета — 16 цветов («System colors» на первом скриншоте), плюс несколько специальных наименований, определяющих цвет текста по умолчанию, цвет фона, цвет курсора, и т.п.
В раскраске консоли удалённого терминала участвует как клиент (PuTTY), так и терминальный сервер (SSH). Вместе с неким набором символов, которые должны быть окрашены, серверная программа также посылает управляющие последовательности, сообщая название цвета, которым должен быть окрашен тот или иной символ. Клиент в свою очередь определяет, как этот цвет должен выглядеть в окне терминала у пользователя.
К примеру, сервер сообщает — окрасить такой-то элемент в цвет «Green» (зелёный). Но дальше клиент сам решает, каким будет этот зелёный: бирюзово-зелёным , бледно-зелёным , грушево-зелёным , или любым другим цветом .
Скрипт ansi-color-chart.sh демонстрирует текущие установки ANSI-цветов. Так они выглядят в PuTTY по умолчанию:

Вы можете сами определить вид каждого цвета. Настройки находятся в панели «Окно/Цветовая схема». Вы можете выбрать подходящий цвет в палитре цветов, либо указать цвет в формате RGB (красный-зелёный-синий).

Попробуем изменить цвета по следующей схеме:
| Пример: | Цвет для изменения: | Красный: | Зелёный: | Синий: |
|---|---|---|---|---|
| Текст по умолчанию | 255 | 255 | 212 | |
| Полужирный текст по умолчанию | 255 | 255 | 212 | |
| Фон текста по умолчанию | 20 | 20 | 20 | |
| Фон полужирного текста по умолчанию | 20 | 20 | 20 | |
| Текст курсора | 255 | 255 | 255 | |
| Цвет курсора | 255 | 255 | 212 | |
| ANSI Чёрный | 20 | 20 | 20 | |
| ANSI Чёрный полужирный | 38 | 38 | 38 | |
| ANSI Красный | 192 | 109 | 68 | |
| ANSI Красный полужирный | 222 | 124 | 76 | |
| ANSI Зелёный | 175 | 185 | 122 | |
| ANSI Зелёный полужирный | 204 | 216 | 140 | |
| ANSI Жёлтый | 194 | 168 | 108 | |
| ANSI Жёлтый полужирный | 226 | 196 | 126 | |
| ANSI Синий | 68 | 71 | 74 | |
| ANSI Синий полужирный | 90 | 94 | 98 | |
| ANSI Пурпурный | 180 | 190 | 124 | |
| ANSI Пурпурный полужирный | 208 | 220 | 142 | |
| ANSI Циан | 119 | 131 | 133 | |
| ANSI Циан полужирный | 138 | 152 | 155 | |
| ANSI Белый | 255 | 255 | 212 | |
| ANSI Белый полужирный | 255 | 255 | 212 |
И вот как теперь выглядит вывод сценария ansi-color-chart.sh:

(Не забудем сохранить сеанс, иначе все настройки пропадут.)
Установка Цветовой Схемы
К сожалению, в PuTTY отсутствует классическое понимание «Темы/Скины», нет возможности их выбора, загрузки, сохранения.
Но, конечно же, ручная настройка каждого цвета по отдельности — это не единственный способ изменить цвета. Существует формат для хранения и полуавтоматической установки цветов.
Для вас подготовлено 50 цветовых схем для PuTTY.
Цветовые схемы представлены в двух форматах:
-
Первый формат — для классической версии PuTTY, или PuTTY.ORG.RU (не-portable), в виде .REG файла. При импорте такого файла в системный реестр, будет создан новый сеанс с именем «Twilight», с настройками цветов из примера выше.
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\Twilight] "Colour0"="255,255,212" "Colour1"="255,255,212" "Colour2"="20,20,20" "Colour3"="20,20,20" "Colour4"="255,255,255" "Colour5"="255,255,212" "Colour6"="20,20,20" "Colour7"="38,38,38" "Colour8"="192,109,68" "Colour9"="222,124,76" "Colour10"="175,185,122" "Colour11"="204,216,140" "Colour12"="194,168,108" "Colour13"="226,196,126" "Colour14"="68,71,74" "Colour15"="90,94,98" "Colour16"="180,190,124" "Colour17"="208,220,142" "Colour18"="119,131,133" "Colour19"="138,152,155" "Colour20"="255,255,212" "Colour21"="255,255,212"
Colour21\255,255,212\ Colour20\255,255,212\ Colour19\138,152,155\ Colour18\119,131,133\ Colour17\208,220,142\ Colour16\180,190,124\ Colour15\90,94,98\ Colour14\68,71,74\ Colour13\226,196,126\ Colour12\194,168,108\ Colour11\204,216,140\ Colour10\175,185,122\ Colour9\222,124,76\ Colour8\192,109,68\ Colour7\38,38,38\ Colour6\20,20,20\ Colour5\255,255,212\ Colour4\255,255,255\ Colour3\20,20,20\ Colour2\20,20,20\ Colour1\255,255,212\ Colour0\255,255,212\
Конвертация ANSI-цветов в формат PuTTY
Некоторые из цветовых схем были сделаны и протестированы дизайнерами специально для PuTTY, но большая часть была сконвертирована из конфигов iTerm и uxvrt.
Если у вас есть желание перенести любимую цветовую схему из любого Linux-терминала или текстового редактора, вот примерное соотношение строк конфигурации:
# PuTTY CFG # ANSI Relation # PuTTY GUI Colour0 Foreground Color # Default Foreground Colour1 Bold Color # Default Foreground Colour2 Background Color # Default Background Colour3 Background Color # Default Foreground Colour4 Cursor Color # Cursor Text Colour5 Cursor Text Color # Cursor Color Colour6 ANSI 0 Color # ANSI Black Colour7 ANSI 8 Color # ANSI Black Bold Colour8 ANSI 1 Color # ANSI Red Colour9 ANSI 9 Color # ANSI Red Bold Colour10 ANSI 2 Color # ANSI Green Colour11 ANSI 10 Color # ANSI Green Bold Colour12 ANSI 3 Color # ANSI Yellow Colour13 ANSI 11 Color # ANSI Yellow Bold Colour14 ANSI 4 Color # ANSI Blue Colour15 ANSI 12 Color # ANSI Blue Bold Colour16 ANSI 5 Color # ANSI Magenta Colour17 ANSI 13 Color # ANSI Magenta Bold Colour18 ANSI 6 Color # ANSI Cyan Colour19 ANSI 14 Color # ANSI Cyan Bold Colour20 ANSI 7 Color # ANSI White Colour21 ANSI 15 Color # ANSI White Bold
Мы будем рады добавить новые пользовательские темы в Каталог цветовых схем для PuTTY. Особенно хотелось бы больше удачных тем со светлым фоном.
А также, если вы заметите неюзабельные моменты и другие недочёты в уже выложенных цветовых схема, оставляйте свои предложения по исправлению!
Как бы подсветку синтаксиса включить (vi/vim)?

Как бы подсветку синтаксиса включить (vi/vim)?
Korchevatel ★★★★★
( 04.12.20 23:56:23 MSK )
Ответ на: комментарий от Korchevatel 04.12.20 23:56:23 MSK

system vimrc file: "etc/virc" user vimrc file: "$HOME/.virc" 2nd user vimrc file: "~/.vim/virc" user exrc file: "$HOME/.exrc" defaults file: "$VIMRUNTIME/defaults.vim" fall-back for $VIM: "/etc"
Я был уже по этой ссылке, не работает
в /etc/virc это все прописывал
ChuCha ★
( 05.12.20 00:03:35 MSK ) автор топика
Последнее исправление: ChuCha 05.12.20 00:05:04 MSK (всего исправлений: 2)

By default, Fedora Linux ships with vim-minimal package that provides vi command. There is no syntax-highlighting for vi commands. Hence, you must install an enhanced version of VIM
Юзер-конфиг вима в твоем хомяке: /home/your_user_name/.vimrc
Директория с темами и прочим: /home/your_user_name/.vim
gill_beits ★★★★
( 05.12.20 00:15:55 MSK )
Последнее исправление: gill_beits 05.12.20 00:17:28 MSK (всего исправлений: 1)

vi в подсветку синтаксиса не умеет. Если vi — это симлинк на Vim, то он будет в compatible mode (по крайней мере так раньше было).
mord0d ★★★★★
( 05.12.20 00:18:32 MSK )
Ответ на: комментарий от mord0d 05.12.20 00:18:32 MSK

стоит nocompatible mode

gill_beits Это я тоже сделал
Всем спасибо, все у меня работает, просто консоль надо было ребутнуть, лол
ChuCha ★
( 05.12.20 00:22:11 MSK ) автор топика
Последнее исправление: ChuCha 05.12.20 00:24:01 MSK (всего исправлений: 3)
Ответ на: комментарий от ChuCha 05.12.20 00:22:11 MSK

Выше написали что он у тебя может быть в минимальной поставке, то есть в том числе без файлов подсветки синтаксиса.
mord0d ★★★★★
( 05.12.20 10:25:03 MSK )

What is wrong with you people!
Ну кто же для таких вещей системные конфиги правит!
