2009-04-27 42 views
8

Tôi đã tải xuống tệp php.vim, chứa thông tin cú pháp dựa trên PHP. Nó sẽ có thể cung cấp gấp cú pháp dựa trên cú pháp, nhưng tôi không thể làm cho nó hoạt động vì một lý do nào đó.Cú pháp dựa trên cú pháp Vim với php

Tôi đã đặt :let g:php_folding 2:set foldmethod=syntax nhưng không có kết quả. Tôi khá chắc chắn các tập tin là đúng nơi và được đọc bởi vim, kể từ khi tôi có thể làm :let g:php_sql_query=1 mà hoạt động.

File php.vim tọa lạc tại ~/.vim/syntax/php.vim

+0

Bạn không nhìn thấy bất kỳ gấp hoặc không nhìn thấy gấp bạn muốn? Bạn đã thử ': đặt foldlevel = 0' chưa? – user55400

Trả lời

0

Rõ ràng VIM của tôi không chạy: cú pháp cho phép.

Làm: cú pháp enable cố định được vấn đề, nhưng tôi cũng nói thêm: cú pháp trên Vimrc

13

: cú pháp cho phép (hoặc: cú pháp trên) làm việc vì cả những tùy chọn này cũng bật phát hiện filetype. Loại tệp phải được phát hiện trước khi gấp hoặc làm nổi bật.

Nếu bạn đang phát triển trong PHP bạn có thể muốn thêm những ba dòng 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. 

của bạn Sau đó, bạn có thể đặt let g:php_folding=2 của bạn và set foldmethod=syntax trong tập tin ~/.vim/after/ftplugin/php.vim của bạn.

Điều này sẽ giữ cho tệp .vimrc của bạn sạch sẽ, giúp sắp xếp tất cả các cài đặt của bạn và cú pháp foldmethod = chỉ ảnh hưởng đến tệp php (Nếu bạn muốn đặt cú pháp làm phương thức gấp mặc định cho tất cả các kiểu tệp, hãy để dòng đó trong vimrc tập tin)

Để biết thông tin chi tiết hơn đọc những tập tin này giúp đỡ:

: giúp đỡ filetype
: giúp usr_05.txt
: giúp usr_43.txt

4

Tôi tìm thấy phpfolding.vim và rất dễ sử dụng.

  1. đặt phpfolding.vim để $ HOME/.vim/plugin/

  2. add keymap

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

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

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

tận hưởng!

+0

Gấp nếp gấp mặc định chỉ có các phương thức lớp. Điều này cũng gấp chức năng thường xuyên? – Masse

+0

Đúng. Kiểm tra ảnh chụp màn hình của tôi http://stackoverflow.com/a/24325487/623519 – artfulrobot

+1

Ngoài ra hãy thử https://github.com/swekaj/php-foldexpr.vim - Tôi tìm thấy nó tốt hơn so với câu trả lời – artfulrobot

Các vấn đề liên quan