Синтаксис Vim не выделяется в реальном времени - PullRequest
0 голосов
/ 29 апреля 2020

Я включил синтаксис vim (в ~ / .vimr c синтаксис включен), и он работает, но только для файлов с кодом, когда я их просматриваю. Когда я создаю новый файл с помощью vim и записываю туда некоторый код - синтаксическая подсветка отсутствует. После сохранения этого файла и повторного открытия с помощью vim - подсветка синтаксиса работает отлично. Я использую Manjaro KDE.

Ответы [ 2 ]

0 голосов
/ 29 апреля 2020

Vim должен знать, как выделить ваш синтаксис, чтобы фактически выделить его. Один из способов сделать это - Vim проверить имя файла, а иногда проверить его содержимое и установить тип файла. Тип файла затем используется для выделения синтаксиса.

Чтобы включить обнаружение типа файла (и загрузить файлы плагина и отступа), добавьте следующее к вашему vimrc:

filetype on plugin indent

Если Vim не может определить тип файла и вы еще не сохранили файл с известным расширением, вы можете установить тип файла вручную, например:

:set filetype=html

Vim затем выделит синтаксис файла с синтаксисом HTML.

Более подробная информация доступна на справочных страницах .

0 голосов
/ 29 апреля 2020

Когда вы открываете новый файл без расширения (vim mynewfile), ни один из механизмов обнаружения типов файлов vim не может его распознать (все они используют либо расширения, либо эвристику первых двух строк, которые здесь не работают).

Когда вы вводите код и снова открываете файл, проверяются строки для типов файлов, что приводит к правильной настройке синтаксиса и применению подсветки.

Вы всегда можете set syntax=mine (хотя set filetype=mine лучше), чтобы установить его вручную.

Эта проблема не должна возникать, когда вы делаете vim some.c или подобное, потому что расширение заставит обнаружение на основе правил расширения.

...