如何有选择地应用语法高亮

时间:2012-08-19 04:39:22

标签: vim vim-syntax-highlighting

我正在和Vim一起编写教程/书籍,我想关闭一段文本(本书的正常文本)的语法高亮,并为代码示例重新激活它。

我已经谷歌搜索到了无止境,但我找不到一个简单的解决方案。我错过了什么吗?或者这在Vim中无法实现?

3 个答案:

答案 0 :(得分:3)

您可以为图书创建语法文件。

例如,您可以创建一个脚本:~/.vim/syntax/tutor.vim

"
" tutor.vim -- syntax file for my book/tutor
"
syn include @PY $VIMRUNTIME/syntax/python.vim
syn region pyBlock start="{{{" end="}}}" contains=@PY

这是一个示例文件:

# File: intro.txt
# Date: 2012-08-19

blah, blah ...
So, I will show you some code:
{{{
    def hello():
        print "world"
}}}

# vim: set syn=tutor :

答案 1 :(得分:3)

我为此编写了SyntaxRange plugin(我的主要用例是使用“diff”语法突出显示电子邮件中的补丁)。有了它,您可以:[range]SyntaxIgnore:[range]SyntaxInclude {filetype}缓冲区的某些部分,或者,当部分以某些标记开始和结束时,定义在线条数量发生变化时适应的动态部分。

答案 2 :(得分:2)

切向思考......

如何在Vim中使用重组文本或降价等内容并在github上渲染。这为您免费提供版本管理。你可以拥有代码块。