fortran_free_source прерывает подсветку синтаксиса комментариев в vim - PullRequest
1 голос
/ 29 февраля 2012

Я читаю код на фортране 77 (который я ненавижу!), И чтобы vim не странно окрашивал строки после строки 72, я включил let fortran_free_source=1 перед строкой syntax on в моем .vimrc.

Однако после этого все комментарии, начинающиеся с 'C' или 'c', не окрашиваются так, как должны быть раскрашены комментарии. Только комментарии, которые начинаются с '!' окрашены правильно. Как мне отредактировать мой файл .vimrc, чтобы комментарии в старом стиле Фортрана были окрашены правильно?

Ответы [ 3 ]

2 голосов
/ 01 марта 2012

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

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

hi! link fortranSerialNumber fortranString

и сообщите нам результаты ...

2 голосов
/ 29 февраля 2012

Новый ответ: Добавьте к вашему .vimrc let fortran_have_tabs=1, который должен от него избавиться. Единственным побочным эффектом будет то, что вкладки больше не будут выделяться.

Старый ответ:

Я бы не знал никакого прямого решения для этого, но грязным хаком было бы скопировать fortran.vim в вашу папку синтаксиса и удалить строку 332:

    syn match fortranSerialNumber       excludenl "^.\{73,}$"lc=72

если вы называете это myfortran.vim (в вашей папке ~ / .vim / syntax), вы можете использовать set syntax = myfortran. Я уверен, что должен быть более элегантный способ, но это должно сработать.

Если вы оставите его как fortran.vim, тогда будет загружен только файл с ~ / .vim / синтаксисом, а не тот, что в / usr / yourvimdir /

1 голос
/ 09 марта 2012

Поместите это в ~ / .vimrc / after / syntax / fortran.vim:

syn match fortranComment excludenl "^[!c*].*$" contains=@fortranCommentGroup,@spell
syn match fortranComment excludenl "!.*$" contains=@fortranCommentGroup,@spell

Это выделяет все типы комментариев на Фортране, независимо от других опций выделения, таких как форма с фиксированным или бесплатным исходным кодом.

Все, что находится в ~ / .vimrc / after / syntax /, запускается после анализа файла подсветки синтаксиса по умолчанию. Две строки выше находятся в моем экземпляре fortran.vim, но находятся внутри if операторов, поэтому они не всегда вступают в силу.

Вы можете добавить d в первой строке "^[!cd*].*$", если хотите выделить нестандартные строки комментариев "d".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...