2009-04-27 10 views
8

He descargado el archivo php.vim, que contiene información de sintaxis basada en PHP. Debería poder proporcionar un plegado basado en la sintaxis, pero no puedo hacerlo funcionar por alguna razón.Plegado basado en la sintaxis de Vim con php

He configurado :let g:php_folding 2 y :set foldmethod=syntax pero fue en vano. Estoy bastante seguro de que el archivo está en el lugar correcto y lo lee vim, ya que puedo hacer :let g:php_sql_query=1 que funciona.

El archivo se encuentra en php.vim~/.vim/syntax/php.vim

+0

¿No está viendo ningún plegado o no ve el plegado que desea? ¿Lo has intentado ?: set foldlevel = 0 '? – user55400

Respuesta

0

Al parecer, mi VIM no se ha ejecutado: syntax enable.

Haciendo: syntax enable solucionó el problema, pero también ha añadido: la sintaxis a .vimrc

13

: syntax enable (o: la sintaxis de) trabajar porque esas dos opciones también se convierten en la detección de tipo de archivo. El tipo de archivo debe detectarse antes de plegar o resaltar el trabajo.

Si está desarrollando en PHP es probable que desea agregar estas tres líneas a su .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. 

A continuación, puede poner su let g:php_folding=2 y set foldmethod=syntax en su archivo ~/.vim/after/ftplugin/php.vim.

Esto mantendrá su archivo .vimrc limpio, ayudará a organizar todas sus configuraciones, y la sintaxis foldmethod = solo afectará a los archivos php (Si desea establecer la sintaxis como su método de plegado predeterminado para todos los tipos de archivos, deje esa línea en su .vimrc archivo)

Para obtener información más detallada leer estos archivos de ayuda:

: ayuda filetype
: ayudar usr_05.txt
: Ayuda usr_43.txt

4

Encuentro el phpfolding.vim, y es muy fácil de usar.

  1. poner el phpfolding.vim a $ HOME/.vim/plugin/

  2. complemento mapa de teclado

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

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

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

¡córtalo!

+0

El plegado de php predeterminado dobla solo los métodos de clase. ¿Esto dobla también las funciones regulares? – Masse

+0

Sí. Pagar mi captura de pantalla http://stackoverflow.com/a/24325487/623519 – artfulrobot

+1

También intente https://github.com/swekaj/php-foldexpr.vim - Encuentro mejor que el de la respuesta – artfulrobot

Cuestiones relacionadas