2009-04-27 6 views
8

Ich habe php.vim Datei heruntergeladen, die PHP-basierte Syntaxinformationen enthält. Es sollte in der Lage sein, Syntax-basierte Faltung bereitzustellen, aber ich kann es aus irgendeinem Grund nicht funktionieren lassen.Vim Syntax basierte Faltung mit PHP

Ich habe :let g:php_folding 2 und :set foldmethod=syntax gesetzt, aber ohne Erfolg. Ich bin ziemlich sicher, dass die Datei an der richtigen Stelle ist und von Vim gelesen wird, da ich :let g:php_sql_query=1 tun kann, die funktioniert.

Die php.vim Datei befindet sich in ~/.vim/syntax/php.vim befindet

+0

Sehen Sie keine Faltung oder sehen Sie die gewünschte Faltung nicht? Hast du versucht ': set foldlevel = 0'? – user55400

Antwort

0

Offenbar mein VIM laufen nicht: Syntax aktivieren.

tun: syntax enable das Problem behoben, aber ich fügte auch hinzu: Syntax auf

13

.vimrc: Syntax aktivieren (oder: Syntax) arbeiten, weil beide diese Optionen auch auf Datei des Typs Erkennung einzuschalten. Der Dateityp muss vor dem Falten oder Hervorheben der Arbeit erkannt werden.

Wenn Sie in PHP entwickelst du wahrscheinlich wollen diese drei Zeilen zu Ihrem .vimrc hinzufügen

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. 

Dann können Sie Ihre let g:php_folding=2 und set foldmethod=syntax in Ihrer ~/.vim/after/ftplugin/php.vim Datei setzen.

Dies wird Ihre .vimrc Datei sauber halten, helfen Sie bei der Organisation all Ihrer Einstellungen, und die foldmethod = Syntax wirkt sich nur auf PHP Dateien aus (Wenn Sie die Syntax als Standard Falzmethode für alle Dateitypen setzen wollen .vimrc Datei)

Für detailliertere Informationen über diese Hilfedateien lesen:

: Hilfe Datei des Typs
: Hilfe usr_43.txt

: usr_05.txt
helfen
4

Ich finde die phpfolding.vim, und es ist sehr einfach zu bedienen.

  1. legte die phpfolding.vim zu $ HOME/.vim/plugin/

  2. Add keymap

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

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

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

viel Spaß!

+0

Die Standard-PHP-Faltung faltet nur Klassenmethoden. Klappt das auch reguläre Funktionen? – Masse

+0

Ja. Checkout mein Screenshot http://StackOverflow.com/a/24325487/623519 – artfulrobot

+1

Versuchen Sie auch https://github.com/swekaj/php-foldexpr.vim - ich finde es besser als das in der Antwort – artfulrobot