Vim:インデントされたブロックを手動で折りたたむには?

Vim:インデントされたブロックを手動で折りたたむには?

vimで手動の折りたたみを使用して現在の行(カーソルがある行)と同じインデントで各行を折りたたむにはどうすればよいですか?

デフォルトでは、Vimを使用するときにVimが行うようにアイテムを折りたたむにはVimが必要な場合があります。しかし、私はVimを使用して変更しないことをfoldmethod=indent好みます。foldmethod=manual

たとえば、

function f(x)

  while (x > a)
    foo = bar
    someStuff() // suppose cursor is here
    x = foo + a
  end

  if (x < b)
    x = b // this line should not be indented
  end
end

この場合、行をfoo = barに縮小する必要がありますx = foo + a

ベストアンサー1

:-1,+1norm zF縮小する行の相対範囲を指定するために使用できます。 (上1行、下1行の場合は1命令からsを省略してそのまま使用してもかまいません:-,+norm zF。)

プラグインをインストールする場合は、次のものがあります。 vimインデントオブジェクトiinside ndentやrund ndent iiなど)などの「インデントオブジェクト」を提供します ai。そうすれば、そのようなことができます。aizfii

おすすめ記事