Başlangıç ​​ve bitiş işaretleri aynı olduğunda bir dosyayı otomatik olarak nasıl katlayabilirim?


0

Ben kullanan bir düz metin dosyası var -- >8 -- bölüm ayırıcılar olarak, örneğin:

-- >8 --

first section
some content
more content

-- >8 --

second section
some content
more content

-- >8 --

Dosyada daha kolay gezinmek için, işaretleyiciler arasındaki bölümleri katlamak istiyorum. Bunun kadar kolay olacağını umuyordum:

set foldmethod=marker
set foldmarker=--\ >8\ --,--\ >8\ --

Ancak iç içe kıvrımlara neden olur.

Bunu başarmak için bir katlama ifadesi kullanabileceğimi öğrendim (aşağıdaki cevaba bakınız), fakat oldukça fazla görünüyor. Bunu yapmanın daha basit bir yolu var mı?

Yanıtlar:


2

Bunu yapmak için bir katlama ifadesi kullanabileceğimi öğrendim:

set foldmethod=expr
set foldexpr=(getline(v:lnum)=='--\ >8\ --')?1:2

Ekran görüntüsü:

- -- >8 --
|++---  5 lines: first section------------------------------------------------
| -- >8 --
|++---  5 lines: second section-----------------------------------------------
| -- >8 --

1
Ben de öyle yapardım. Görünmüyor aşırı bana göre.
Ingo Karkat

@IngoKarkat: Sanırım haklısın, bunu sadece katlama işaretleyici yapma fikrine bağlı kaldım. Teşekkürler.
Thor
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.