Почему создание нового сгиба иногда приводит к сгибанию всего файла?
Иногда, когда я создаю новую свертку в vim, она сворачивает весь файл. Зачем?
(foldmethod=manual
)
например,
zi
(все складки открыты)zi
(все складки закрыты)- строки 1-309 свернуты, а строки 617-662 свернуты (в файле 662 строки)
- мой курсор находится в строке 377
- я делаю
zfG
свернуть все строки от строки 377 до конца файла
Ожидается: строки с 377 до конца файла закрыты, а строки 310-366 видны
Фактически: все строки в файле закрыты
Обходной путь:
zD
(удалить все складки):1,309fold
(кратность 1-309):377,$fold
(складка 377-еоф)
Настройки My fold*:
foldclose=
foldcolumn=0
foldenable
foldexpr=0
foldignore=#
foldlevel=0
foldlevelstart=-1
foldmarker={{{,}}}
foldmethod=manual
foldminlines=1
foldnestmax=20
foldopen=block,hor,mark,percent,quickfix,tag,undo
foldtext=foldtext()
1 ответ
Это связано с тем, что строка 377 (где я создавал новую складку) находилась внутри существующей открытой складки, которая началась со строки 1 файла. Поэтому, когда я создал новый сгиб, он увеличил размер существующего открытого сгиба и закрыл его, в результате чего весь файл был сложен закрытым.
Чтобы отладить это, :set foldcolumn=12
показывает открытые складки. А такжеzM
закрывает все открытые складки.
Также обратите внимание, что я думал zi
переключал открывать / закрывать все складки, но это неправда. zM
закрывает все складки, и zR
открывает все складки.
[Я получил ответ на этот вопрос vi.stackexchange.com]