4

当我处理 PHP 文件时,我很可能会在其中嵌入一些 HTML。问题是当我编辑一个名为foo.phpVim 的文件时,它会自动将其文件类型设置为 php,而 html 的片段在其中不起作用。

好吧,我可以快速将文件类型设置为html (:set ft=html

我使用 snipMate 作为我的片段管理器。我怎样才能达到我想要的。

4

2 回答 2

5

PHP 和 HTML 条件很容易(如果您使用 snipMate),我还没有尝试过其他文件类型。您可以在 ~/.vimrc 文件中设置它:

autocmd filetype php set filetype=php.html

需要注意的一点是,当您将文件类型设置为 时php.html,突出显示的是 PHP,并且代码段将从 html 导入。上面的配置将与set ft=html.php(以及片段将起作用)不同,因为将为 html 启用突出显示,并且我们知道 php 美化了 html 但 html 不会美化 php。以同样的方式,如果您执行set filetype=php.css.html所有三种文件类型的片段,则将导入所有三种文件类型,但 vim 将根据 PHP 突出显示。

于 2012-09-18T06:21:29.257 回答
3

您没有告诉我们您正在使用的片段插件。对于原始的snipMate插件,创建一个~/.vim/ftplugin/php_snipMate.vim包含以下内容的文件:

silent call ExtractSnipsFile(g:snippets_dir . 'html.snippets', &l:filetype)

由于脚本名称和位置,它将自动为所有 PHP 文件提供源,并在所有现有 PHP 片段之外导入 html 片段。

于 2012-09-18T07:23:29.080 回答