2014-01-18 130 views
0

我在使用laravel blade模板引擎時遇到Vim摺疊問題。它在頁面上顯示摺疊標記。讓人耳目一新的瀏覽器窗口後,我看到/{{{/vim摺疊laravel blade模板引擎

我的摺疊設置爲標誌 - 它是唯一的摺疊設置在我的.vimrc

任何人都知道如何解決這個問題? 謝謝。

確定這裏是更新:

在vim進入冗長的命令後,這裏是我的了:

:verbose set fdm → foldmethod=marker 
:verbose set frm? → foldmarker = {{{,}}} 
:verbose set fdt? → foldtext=foldtext() 

我想到的是,因爲刀片是基於正則表達式,它無法過濾正常foldmarkers?

+0

你的框架可能扼流圈foldmarkers你可以發佈一個例子 – romainl

+0

請張貼一些示例代碼和輸出':verbose set fdm?fdt?fmr?'。 – benjifisher

回答

1

摺疊標記背後的想法是它們包含在源代碼文件中,但在編程語言方面是中性的。這通常意味着它們必須是,其中包含註釋。如果您仍然在瀏覽器中看到它們,那意味着您無法將它們隱藏在模板引擎中。

您需要將它們嵌入註釋中,例如HTML格式:<!-- {{{1 -->。 Vim可以通過'commentstring'選項來幫助你(在zf - 創建摺疊)。

請注意,摺疊標記大多隻用於個人自定義文本文件(如果您想創建摺疊結構而不具有適當的語法或其他正式結構)。對於編程語言,您寧可使用syntax,exprindent foldmethods。這比自己管理摺疊更容易,並且它不會使用不屬於此處的特定於編輯器的垃圾代碼(或者使用您的非Vim使用的同事這樣做?!)

如果您的模板引擎是基於HTML,這(與:setlocal foldmethod=syntax投入~/.vim/after/syntax/html.vim,在一起應該給你一些摺疊:?

:syntax region htmlFold start="<\z(p\|h\d\|table\|colgroup\|thead\|tfoot\|tbody\|t[dhr]\|pre\|[diou]l\|li\|span\|div\|head\|script\|style\|blockquote\|form\)\%(\_s*\_[^/]\?>\|\_s\_[^>]*\_[^>/]>\)" end="</\z1\_s*>" fold transparent keepend extend containedin=htmlHead,htmlH\d