Do kết quả của câu trả lời này ở đây , tôi đang cố gắng viết một foldexpr
vim tương đương với foldmethod=indent
(như một điểm khởi đầu để sau đó nâng cao nó để nhận ra các điểm đánh dấu tùy chỉnh của tôi, xem câu hỏi để biết thêm chi tiết ).
Tôi đã thử điều này:
set foldmethod=foldexpr
set foldexpr=indent(v:lnum)
Tuy nhiên, điều này không thành công trên ví dụ HTML đơn giản này:
<div id="a">
<div id="b">
<div id="c">
<div id="d">
</div>
</div>
<div id="e">
</div>
</div>
</div>
Nếu tôi đặt chìa khóa của mình trên <div id="c">
dòng và nhấn zc
, nếp gấp hoạt động như mong đợi và chỉ gập lại div đó. Nếu tôi mở lại, sau đó đặt chìa khóa của tôi lên <div id="b">
dòng và nhấn zc
, lần gập không thành công vì <div id="e">
không được gấp lại.
Nếu tôi chuyển sang foldmethod=indent
, điều này không xảy ra; lần thứ hai được thực hiện chính xác. Làm thế nào tôi có thể sửa chữa của tôi foldexpr
để làm cho nó hoạt động như thế foldmethod=indent
nào?