当我处理PHP文件时,我有很多机会将一些HTML嵌入其中。问题是,当我编辑一个名为foo.php
的文件时,Vim自动将其文件类型设置为php,而html的片段在其中不起作用。
好吧,我可以快速将文件类型设置为html (:set ft=html
),但两者之间的变化对我来说似乎很难,如果我将它设置为html,我将失去php文件的突出显示令人惊讶的是,如果文件类型是php,则html的突出显示有用。
我正在使用snipMate作为我的代码段管理器。我怎样才能实现我想要的目标。
答案 0 :(得分:3)
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突出显示。
答案 1 :(得分:3)
您没有告诉我们您正在使用的代码段插件。对于原始 snipMate 插件,请使用以下内容创建文件~/.vim/ftplugin/php_snipMate.vim
:
silent call ExtractSnipsFile(g:snippets_dir . 'html.snippets', &l:filetype)
由于脚本名称和位置,它将自动为所有PHP文件提供源代码,并导入除所有现有PHP代码段之外的html代码段。