【问题标题】:Enable Vim syntax highlighting regardless of filename extension无论文件扩展名如何,都启用 Vim 语法高亮显示
【发布时间】:2012-03-03 05:28:18
【问题描述】:

我正在打开一个没有vim 扩展名的文件,比如说:

myappsetting.conf

这个文件实际上是一个*.ini文件,格式如下:

[setting_a]
yo = 1234

如何让vim 以正确格式正确显示此文件?

我正在寻找一些vim 命令,例如:

:set syntaxtype=ini

谢谢。

【问题讨论】:

标签: vim


【解决方案1】:

我在 Arch linux 桌面上遇到了同样的问题。我发现这些文件归 vim-runtime 包所有。

$ pacman -Qlq vim-runtime | grep dosini
/usr/share/vim/vim74/ftplugin/dosini.vim
/usr/share/vim/vim74/syntax/dosini.vim

基于此,我发现我可以通过设置语法 (syn) 或文件类型 (ft) 来突出显示 dosini

:set ft=dosini

您可以使用 vim 模式行自动执行此操作。将此添加到文件的最后一行。

# vim: set ft=dosini :

【讨论】:

  • 但是,要使模式行工作,您必须启用它。在 vim 会话中发出 set modeline 或(更好)将 set modeline 添加到您的 ~/.vimrc vim.wikia.com/wiki/Modeline_magic
  • 如果启用了modeline,你也可以只使用# vim: ft=dosini(注意不需要“set”),它不需要是最后一行——我通常用它作为第一行行
【解决方案2】:

你可以试试这个来重置语法:

:set syn=ini

【讨论】:

  • 颜色还没有出现。 :-(
  • 你有~/.vim/syntax/ini.vim 文件吗?
  • 输入 :verbose set syn=ini 以检查是否有错误消息。
  • 在vim中打开abc.ini,然后输入:set syn?查看语法类型。
  • 谢谢凯夫。 :verbose set syn=ini 告诉我 ini.vim 文件丢失。有趣的是,常规的 *.ini 文件不需要 ini.vim 才能正确显示。
【解决方案3】:

把它放在你的 .vimrc 中:

au BufReadPost *.conf set syntax=ini

【讨论】:

  • 这通常不是dosini 而不仅仅是ini 吗?
【解决方案4】:

为我工作 *.conf,在 .vimrc 文件中:

au BufReadPost *.conf set syntax=dosini

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-03
    • 1970-01-01
    • 1970-01-01
    • 2016-08-16
    • 2015-04-24
    • 2019-01-25
    • 1970-01-01
    相关资源
    最近更新 更多