10

我已经下载了 php.vim 文件,其中包含基于 PHP 的语法信息。它应该能够提供基于语法的折叠,但由于某种原因我不能让它工作。

我已经设置:let g:php_folding 2:set foldmethod=syntax但无济于事。我很确定文件在正确的位置并且被 vim 读取,因为我可以做到:let g:php_sql_query=1

php.vim文件位于~/.vim/syntax/php.vim

4

3 回答 3

14

: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=2set foldmethod=syntax放在你的~/.vim/after/ftplugin/php.vim文件中。

这将使您的 .vimrc 文件保持干净,帮助组织所有设置,并且 foldmethod=syntax 只会影响 php 文件(如果要将语法设置为所有文件类型的默认折叠方法,请将该行保留在 .vimrc 文件中)

有关更多详细信息,请阅读以下帮助文件:

:help 文件类型
:help usr_05.txt
:help usr_43.txt

于 2009-06-25T21:50:15.653 回答
4

我找到了phpfolding.vim,它非常易于使用。

  1. 把 phpfolding.vim 放到$HOME/.vim/plugin/

  2. 添加键盘映射

    map <F5> <Esc>:EnableFastPHPFolds<Cr>

    map <F6> <Esc>:EnablePHPFolds<Cr>

    map <F7> <Esc>:DisablePHPFolds<Cr>

好好享受!

于 2012-08-08T07:23:37.147 回答
0

显然我的 VIM 没有运行 :syntax enable。

执行 :syntax enable 解决了问题,但我还在 .vimrc 上添加了 :syntax

于 2009-04-27T12:45:42.833 回答