6

私は定期的に折りたたむことなくCコードに遭遇します。特に長いファイルで折り畳みがない場合、それらを読むのはイライラします。どうすれば折りたたむことができますか?

4

6 に答える 6

16

構文に従って折りたたむには

:set foldmethod=syntax

折りたたむビットを手動で行いたい場合

:set foldmethod=manual

次に、zfを選択/移動して押すことにより、新しい折り目を作成します。

shift-v j j zf

(スペースを無視して)

編集:インデントとマーカーのfoldmethodについては、この回答のコメントも参照してください。

于 2009-04-17T21:59:12.770 に答える
5

用語が混ざっていたのではないかと思います。「ラッピング」または「フォールディング」が必要ですか。ラッピングとは、通常は長さのために画面に収まらない行が折り返されるものです。つまり、画面上の複数の連続した行に表示されます(実際には、1行で、複数行になっています。説明が難しく、練習)。

vimではラッピングはによって設定されます

:set wrap

オンにするには、

:set textwidth=80

vimがテキストを折り返す場所を決定します(通常、80文字が適切な尺度です)。

一方、折り畳みはまったく別の問題です。これは、vimが数行のコード(関数など)を1行のコードに折りたたむものです。コードの可読性を高めるのに役立ちます。Vimにはいくつかの折りたたみ方法があります。

:help folding

あなたが探しているのは、構文の折り畳みだと思いますが、私は間違っている可能性があります。ヘルプページを読むことをお勧めします。長くはなく、非常に便利です。

于 2009-04-17T21:58:40.167 に答える
1

viでは(vimではなく)答えは次のとおりです。

:set wm=1

これにより、折り返し余白が行末の1文字前に設定されます。これは、可変サイズのウィンドウを使用する世界最高の仕様ではありません(サイズを変更するのが難しい場合は、緑色の画面で意味があります)。

つまり、vimでそれを行う別の方法もあります:

:set textwidth=30

参照:VimDocユーザーマニュアルセクション25.1

于 2009-04-17T21:48:19.660 に答える
0

あなたはおそらく設定が必要です

:set foldmethod=syntax

しかし、それを手動で入れないでください!それは、すでに組み込まれている何百ものファイルタイプのカスタム設定を持っているVimsの最大の機能の1つを見逃しています。これを取得するには、これを〜/.vimrcに追加します

filetype plugin on
filetype indent on

ファイルタイプの検出は、主に拡張子(この場合は* .cファイル)に基づいています。詳細については、:help:filetypeを参照してください。これらのファイルタイプベースの設定をカスタマイズすることもできます。

于 2009-04-17T22:54:43.107 に答える