做
%s/---\(.*\)\(\_.\{-}title: \)\(.*\)/---\1 #{{{1 \3\2\3/g
set foldmethod=marker
或
%s/\(---\_.\{-}title: \)\(.*\)/#{{{1 \2\r\1\2/g
set foldmethod=marker
,將與標題添加註釋開始每個YAML文件和離開文件仍然有效。 foldmarker選項必須保持不變。
結果:
1.
--- #{{{1 My Title
title: My Title
attr1: value1
attr2: value2
--- #{{{1 Next Item
title: Next Item
attr1: value3
--- #{{{1 One More Item
title: One More Item
...
摺疊:
+-- 4 строк: --- My Title-----------------------------
+-- 3 строк: --- Next Item----------------------------
+-- 3 строк: --- One More Item------------------------
2.
#{{{1 My Title
---
title: My Title
attr1: value1
attr2: value2
#{{{1 Next Item
---
title: Next Item
attr1: value3
#{{{1 One More Item
---
title: One More Item
...
摺疊:
+-- 5 строк: My Title--------------------------------
+-- 4 строк: Next Item-------------------------------
+-- 4 строк: One More Item---------------------------
來源
2010-07-09 15:13:00
ZyX
感謝您的回答!我不清楚如何使用標記,這絕對解決了這個問題。然而,爲了不復制數據,VIM有沒有辦法讓你使用正則表達式來自動確定摺疊級別和標題? – wkranec 2010-07-09 19:59:40
@wkranec我認爲這可以通過'foldmethod = expr'來完成,並設置了合適的foldexpr和foldtext,但我從來沒有使用它。 – ZyX 2010-07-10 07:50:01