我已经下载了 php.vim 文件,其中包含基于 PHP 的语法信息。它应该能够提供基于语法的折叠,但由于某种原因我不能让它工作。
我已经设置:let g:php_folding 2
,:set foldmethod=syntax
但无济于事。我很确定文件在正确的位置并且被 vim 读取,因为我可以做到:let g:php_sql_query=1
。
该php.vim
文件位于~/.vim/syntax/php.vim
:syntax enable (或 :syntax on) 工作,因为这两个选项也打开文件类型检测。必须在折叠或突出显示工作之前检测文件类型。
如果您使用 PHP 进行开发,您可能希望将这三行添加到您的 .vimrc
set nocompatible " Because filetype detection doesn't work well in compatible mode
filetype plugin indent on " Turns on filetype detection, filetype plugins, and filetype indenting all of which add nice extra features to whatever language you're using
syntax enable " Turns on filetype detection if not already on, and then applies filetype-specific highlighting.
然后你可以把你的let g:php_folding=2
和set foldmethod=syntax
放在你的~/.vim/after/ftplugin/php.vim
文件中。
这将使您的 .vimrc 文件保持干净,帮助组织所有设置,并且 foldmethod=syntax 只会影响 php 文件(如果要将语法设置为所有文件类型的默认折叠方法,请将该行保留在 .vimrc 文件中)
有关更多详细信息,请阅读以下帮助文件:
:help 文件类型
:help usr_05.txt
:help usr_43.txt
我找到了phpfolding.vim,它非常易于使用。
把 phpfolding.vim 放到$HOME/.vim/plugin/
添加键盘映射
map <F5> <Esc>:EnableFastPHPFolds<Cr>
map <F6> <Esc>:EnablePHPFolds<Cr>
map <F7> <Esc>:DisablePHPFolds<Cr>
好好享受!
显然我的 VIM 没有运行 :syntax enable。
执行 :syntax enable 解决了问题,但我还在 .vimrc 上添加了 :syntax