現在、次のようなtwp関数を使用してC++ファイルを編集しています
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という単語に対してa を実行するとfunc_name_1、vim は期待どおりに関数を折りたたむため、次のようになります。
int func_name_1(int param) {--------------------
ただしfunc_name_2、関数は次のように折りたたまれます。
int func_name_2(int param) {---------------------
do_something_with(s);
}
これはまさに私が望むものではありません。何らかの理由で、1 行で {} の開閉を行うと、折りたたみアルゴリズムが乱れているように見えます。
誰かが「より良い」折りたたみを得る方法を知っていれば、正しい方向へのヒントをいただければ幸いです。
この問題に関連すると思われるオプションを編集して、バッファに次のように設定します
set foldmarker={,}
set foldmethod=marker
set foldtext=getline(v:foldstart)
編集 II : 開始と終了 {...} を含む行をSTRUCT_TYPE s = { 5, 8, 10, 12};( の後のスペースに注意してください{) に変更すると、折りたたみは期待どおりに機能します。