71

最初に、set foldmethod=marker を使用し、カーソルを 1 つの関数の { に移動し、zf% を使用して現在の関数を折りたたみます。しかし、このファイルには多くの機能があります。このファイル内のすべての関数を折りたたむにはどうすればよいですか? また、関数内で {} を折りたたみたくありません。

4

6 に答える 6

128

:set foldmethod=syntax折り畳みは構文定義から指定されます。:set foldmethod=indent必要に応じて、インデントで折り目を定義することができます。

ですべての折り目を閉じることができますzM。ネストされた折り目があり、レベルごとに折りたい場合は、 を使用しますzm。折り畳みを開くには、zR(all) とzr(level by level) を使用します。

于 2010-12-30T02:41:59.583 に答える
11

各関数の最初の列に開始中括弧がある場合は、次のように実行できます。

:%g/^{/normal! zf%

多分それはこの方法でより明確です:

:%g /^{/ normal! zf%

このgコマンドは、次のパターンに従って行を選択し、exコマンドを実行します(ここnormal!では通常モードのキーストロークを再生します)。

:help :gて、:help :normal

于 2010-12-30T10:16:36.643 に答える
9

似たようなものを探していたときに出くわしました。あなたは明らかにこれを今までに理解しているでしょう、しかし他の人々の利益のために私はとにかくそれに答えます。

.vimrcに次の行を入力する必要があります。

set foldmethod=syntax
set foldnestmax=1
于 2012-02-05T00:30:46.050 に答える
8
set foldlevel=0

折りたたむべきものは最初からすべて折りたたむ。言語と折り機能に応じて、折りの内容は異なります。

于 2012-02-05T03:11:37.543 に答える