我已经下载了包含基于PHP的语法信息的php.vim文件。它应该能够提供基于语法的折叠,但由于某些原因,我无法使其正常工作。
我已经设置了:let g:php_folding 2
和:set foldmethod=syntax
,但没有效果。我很确定文件在正确的位置并且被vim读取,因为我可以执行:let g:php_sql_query=1
,它可以正常工作。
php.vim
文件位于~/.vim/syntax/php.vim
。
我已经下载了包含基于PHP的语法信息的php.vim文件。它应该能够提供基于语法的折叠,但由于某些原因,我无法使其正常工作。
我已经设置了: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 filetype
: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 on。