В настоящее время я редактирую файл C ++ с функцией twp, аналогичной
int func_name_1(int param) {
do_stuff();
and_more();
}
int func_name_2(int param) {
do_different_stuff();
STRUCT_TYPE s = {5, 8, 10, 12};
do_something_with(s);
}
Если я наберу zc
для слова func_name_1
, vim сворачивает функцию, как и ожидалось, так, чтобы она теперьвыглядит как
int func_name_1(int param) {--------------------
Вкл. func_name_2
, однако функция складывается следующим образом:
int func_name_2(int param) {---------------------
do_something_with(s);
}
, что не совсем то, что я хочу.По некоторым причинам, открытие и закрытие {} в одной строке, кажется, нарушают алгоритм складывания.
Если кто-то знает, как я могу получить «лучшее» сворачивание, я был бы признателен за любую подсказку в правильном направлении.
Редактировать параметры, которые, я считаю, имеют отношение к этой проблеме, установлены в моем буфере следующим образом:
set foldmarker={,}
set foldmethod=marker
set foldtext=getline(v:foldstart)
Редактировать II : Если я изменяюлиния с открытием и закрытием {...} до STRUCT_TYPE s = { 5, 8, 10, 12};
(обратите внимание на пробел после {
), затем складывание работает как положено.