чистый мерзавцем то, что Вы ищете. Это используется для удаления неотслеженных файлов из рабочего дерева.
Однако вся строка выделяется в соответствии с классом «Сложенный». Есть ли способ отключить это, чтобы я продолжал видеть подсветку синтаксиса? »
Нет, сложенный текст заголовка - это не текст, который является частью файла и не редактируется напрямую, а просто рассчитывается и накладывается на экран. Выделение «Folded» применяется ко всей строке, и все складки имеют одинаковое выделение.
Для моего использования с vim в качестве планировщика (в проекте VimOutliner) я взломал исходный код vim, чтобы разрешить различное выделение складок в зависимости от уровень сгиба, поэтому применяется несколько выделений заголовка сгиба (например, FoldLevel1, FoldLevel2 и т. д.). Я предполагаю, что его можно дополнительно взломать, чтобы использовать уже существующее выделение текста в строке заголовка сгиба,
Я думаю, что вам нужно изменить метод сворачивания на отступ вместо ручного, то есть по умолчанию. Введите это в командном режиме.
:set foldmethod=indent
Теперь, если вы войдете в свою функцию foo и наберете zm (увеличьте уровень свертки на единицу), это будет выглядеть так:
int foo(int a, int b) {
+-- 2 lines: int c;------------------------------------------------------------
}
Строка foo по-прежнему будет иметь подсветку синтаксиса. Чтобы развернуть, конечно, наберите zr. Для удобства я поместил следующие несколько строк в свой .vimrc, чтобы быстро свернуть или развернуть все:
" Folding and unfolding
map ,f :set foldmethod=indent<cr>zM<cr>
map ,F :set foldmethod=manual<cr>zR<cr>