当我处理 PHP 文件时,我很可能会在其中嵌入一些 HTML。问题是当我编辑一个名为foo.php
Vim 的文件时,它会自动将其文件类型设置为 php,而 html 的片段在其中不起作用。
好吧,我可以快速将文件类型设置为html (:set ft=html
我使用 snipMate 作为我的片段管理器。我怎样才能达到我想要的。
当我处理 PHP 文件时,我很可能会在其中嵌入一些 HTML。问题是当我编辑一个名为foo.php
Vim 的文件时,它会自动将其文件类型设置为 php,而 html 的片段在其中不起作用。
好吧,我可以快速将文件类型设置为html (:set ft=html
我使用 snipMate 作为我的片段管理器。我怎样才能达到我想要的。
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 突出显示。
您没有告诉我们您正在使用的片段插件。对于原始的snipMate插件,创建一个~/.vim/ftplugin/php_snipMate.vim
包含以下内容的文件:
silent call ExtractSnipsFile(g:snippets_dir . 'html.snippets', &l:filetype)
由于脚本名称和位置,它将自动为所有 PHP 文件提供源,并在所有现有 PHP 片段之外导入 html 片段。