Как получить .vimr c игнорировать обратную кавычку - PullRequest
0 голосов
/ 08 мая 2020

Я использую собственный язык с синтаксисом, аналогичным javascript. В моем .vimr c я установил BufReadPost для набора файлов syntx = javascript, который работает для большей части части, кроме обратных кавычек. В отличие от. js, обратная кавычка используется для перебора матрицы без закрывающей обратной кавычки. Поскольку .vimr c обрабатывает его как синтаксис js, он ожидает закрытия `, иначе все последующее будет строкой. Как мне сказать vim игнорировать обратную кавычку.

1 Ответ

0 голосов
/ 08 мая 2020

В общем, изменение существующего синтаксического скрипта затруднено, поскольку есть много сложностей и взаимодействий групп синтаксического анализа. Однако возможны небольшие изменения.

Если вы используете синтаксис по умолчанию JavaScript, который поставляется с Vim, он использует это определение для обратных кавычек:

syn region  javaScriptStringT          start=+`+  skip=+\\\\\|\\`+  end=+`+ contains=javaScriptSpecial,javaScriptEmbed,@htmlPreproc

Чтобы избавиться от него, вы можете :help :syn-clear it:

:syntax clear javaScriptStringT

Чтобы применить это автоматически, команда должна запускать после синтаксического скрипта был получен. Используйте after-directory , например, как ~/.vim/after/syntax/javascript.vim.

Альтернативные синтаксисы

Особенно в области JavaScript существует несколько конкурирующих синтаксических сценариев. Например, я использую этот ; к счастью, у него есть похожая строка синтаксиса , которую можно очистить точно так же.

...