【问题标题】:How to force vim to syntax-highlight a file as html?如何强制 vim 将文件语法高亮为 html?
【发布时间】:2011-04-20 15:54:11
【问题描述】:

如何设置 vim 的语法高亮以将文件扩展名视为 html 文件?

我使用的是 ez 模板,所以文件的扩展名是 .ezt。但是很多都是普通的html代码。

【问题讨论】:

    标签: html syntax-highlighting vim


    【解决方案1】:
    :set syntax=html
    

    【讨论】:

    • 知道运行:set syntax 将返回当前应用的文件突出显示可能会有所帮助
    【解决方案2】:

    你也可以把它放到你的 .vimrc 中:

    au BufReadPost *.ezt set syntax=html
    

    【讨论】:

    • E216:没有这样的组或事件:BufLoad *.ezt set syntax=html ...我做错了什么?
    • 根据我的经验,如果您提供 exact 文件名,例如.myspecialdotfile。即使理论上没有必要,它也需要在某个地方有一颗星星才能工作。
    • 我在我的 .vimrc 文件中有这个用于 Dockerfile 的文件,这些文件具有用于不同目的的扩展名。 autocmd BufNewFile,BufRead Dockerfile* set filetype=docker 仅使用 Dockerfile* 可防止语法高亮在使用 vi Dockerfile 时起作用 - 添加反斜杠使其适用于 Dockerfile / Dockerfile.somethingDockerfilesomething
    • @AndroidControl 这正是我想要的,谢谢!
    【解决方案3】:

    看看这个Vim wikia topic。一些有用的提示:

    • 正如其他答案所提到的,您可以使用 vim set 命令来设置语法。 :set syntax=<type> 其中<type> 类似于perlhtmlphp 等。

    • 还有另一种机制可用于控制语法高亮显示,称为filetype,或简称ft。类似于语法,你给它一个像这样的类型::set filetype=html。其他文件类型有perlphp等。

    • 有时 vim 会“忘记”使用什么语法,尤其是当您将 php 和 html 之类的东西混合在一起时。使用键盘快捷键 Ctrl+L (<C-L>) 让 vim 刷新突出显示。

    【讨论】:

    • 最佳答案! +!
    【解决方案4】:

    要使其自动运行,请将此行添加到您的 ~/.vimrc:

    autocmd BufNewFile,BufRead *.ezt set filetype=html
    

    如果您只想对当前文件执行此操作,请键入:

    :set filetype=html
    

    你也可以用syntax代替filetype,但是filetype affects more things than syntax(包括语法高亮、缩进规则和插件),所以一般你应该使用filetype,除非你只想影响syntax

    【讨论】:

      【解决方案5】:

      请注意,:set syntax=xml 可以正确突出显示,但在尝试自动缩进文件时似乎会失败(即运行gg=G)。

      当我切换到:set filetype=xml 时,突出显示正常工作,文件缩进正常。

      【讨论】:

        【解决方案6】:

        在 .php 文件(或 html 文件)中,您可以使用 Vim Modeline 强制执行某些命令或设置:

         1 /* vim: syntax=javascript
         2  *
         3  * .submit_norefresh()
         ~
         ~
        

        【讨论】:

        • 你是说Modelline
        • 有时我的~/.vimrc 中与语法相关的au ... 设置对于某些文件会被忽略(可能是由于修改了元数据?)。除了将该文件内容复制到一个新文件之外,在该文件的顶部设置一个模式行是可行的。例如,对于 BASH 脚本,在 shebang 之后添加第二行 # vim: syntax=sh(第一行:#!/bin/bash)似乎可以可靠地工作。因为它基本上是一个“评论”,所以我只在我的sbb ("shebang bash") sn-p 中包含这两行。
        猜你喜欢
        • 2015-04-05
        • 2021-09-29
        • 2012-08-16
        • 2014-11-14
        • 1970-01-01
        • 1970-01-01
        • 2011-06-03
        • 1970-01-01
        相关资源
        最近更新 更多