-1

Я хотел бы, чтобы для файлов с расширением .vm vim:

  • закрасьте красным все слова между двумя обратными галочками , как `this` ,
  • цвет в желтом, что между двумя долларами, как $this is in yellow$ ,
  • и закрасьте все слова между # и концом строки.

1 ответ1

2

Синтаксический скрипт

Создайте файл ~/.vim/syntax/vm.vim со следующим содержимым:

" Quit when a syntax file was already loaded.
if exists('b:current_syntax') | finish|  endif

syntax match vmBackticks "`\zs[^`]\+\ze`"
syntax match vmDollars "\$\zs[^$]\+\ze\$"
syntax match vmComment "#.*$"

hi def link vmBackticks Identifier
hi def link vmDollars Statement
hi def link vmComment Comment

let b:current_syntax = 'vm'

Если вы хотите включить обратные символы / доллары в выделение, просто \zs и \ze .

Это соответствует трем элементам синтаксиса и обеспечивает цвета по умолчанию. Обычно не определяют явные цвета, а вместо этого ссылаются на группы выделения по умолчанию, определенные вашей схемой цветов. Вы можете перечислить все через :hi . Для настройки прочитайте :help :syntax и :help usr_44.txt и посмотрите синтаксические сценарии, которые поставляются с Vim.

Обнаружение типов файлов

Пока что вы должны вручную :set syntax=vm в активное состояние. Чтобы сделать это автоматически, вы должны рассказать Vim о вашем новом типе файла.

Создайте файл ~/.vim/ftdetect/vm.vim со следующим содержимым:

autocmd BufNewFile,BufRead *.vm setf vm

Это предполагает, что файлы могут быть идентифицированы по имени файла (см. :help autocmd-patterns). Вы также можете обнаружить на основе пути (местоположение файла) или даже содержимого. :help new-filetype содержит подробности.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .