При вводе новой функции комбинация {} открывает все сгибы (vim)

276
Morgan Wilde

Я использую следующее

:set foldmethod=syntax 

И после того, как я закрываю две складки с zc

folds closed

Затем приступайте к написанию новой функции, сразу после того, как я закрою блок фигурной скобкой }(я делаю это в INSERTрежиме), все складки открываются

enter image description here

Это кажется раздражающим, как я могу остановить это поведение?

1
Точно так же вы знаете, что команда "create fold" - это "zf", а команда "close Существующее сгибание" - "zc`". Кроме того, когда для '' foldmenthod'` установлено значение "` синтаксис` ", вы не можете создавать складки с помощью" `zf`". Heptite 10 лет назад 1
Извините, я хотел сказать, что использовал zc для закрытия складок, а не для их создания. Опечатка. Спасибо, что заметили @Heptite Morgan Wilde 10 лет назад 0
[Не опубликовано как ответ, потому что у кого-то может быть решение.] Проблема здесь в том, что в этом контексте свертывание Vim основано на правилах синтаксиса, и когда вы добавляете новый `{` верхнего уровня, он создает блоки (функции). Считалось, что сгибы выглядят как подблоки в вашей новой функции, пока вы не добавите `}`, поэтому сгибы складываются, а затем воссоздаются, в результате чего они открываются на вас. Heptite 10 лет назад 2

0 ответов на вопрос