У меня есть текстовые файлы, которые являются просто списками без абзацев. Когда я хочу сосредоточиться на предмете, я могу сложить все спички в моих поисках, кроме, благодаря Vim Викия (Подсказка 282: «Простой Складные»):Vim folding: как скрыть все отдельные строки, не содержащие шаблон поиска (или свернуть нулевую строку)?
:set foldexpr=getline(v:lnum)[email protected]/
:nnoremap <F8> :set foldmethod=expr<CR><Bar>zM
Это оказывается полезным: поэтому я могу очень четко видеть предметы, которые я ищу: они появляются в белом на черном фоне, тогда как складки - темно-серый (ctermfg) на сером (ctermbg).
Но есть - несовершеннолетний - сбой. Это может произойти (и, на самом деле, это часто бывает), что одна строка, не содержащая образец остается между двумя строками, содержащими шаблон, например:
1 pattern
2 not pattern
3 not pattern
4 pattern
5 not pattern
6 pattern
Простой foldind будет складывать линии 2 и 3, а не линии 5.
Как мне перейти, чтобы скрыть эту единственную строку?
Есть ли способ сбросить нулевую линию (это напоминает мне о коане об одной руке, хлопающей ...)? Я полагаю, что это невозможно.
Итак, есть ли способ просто спрятать линию (например, с тем же подсветкой, что и складки) с помощью функции?
Superb. Именно то, что я искал, или, скорее, не искал, поскольку я думал, что это невозможно ... Большое вам спасибо! – ThG