2

vim で shiftwidth=2 を設定しましたが、以前のインデントはすべてデフォルトの 8 のままです。以前のインデントを 8 から 2 に変更するにはどうすればよいですか?

4

3 に答える 3

3

でファイル全体を再インデントできますgg=Ggg最初の行に移動し、=インデント (移動)Gして、最後の行に移動します。

于 2012-04-10T17:05:40.747 に答える
0

元のインデントがハード タブ ストップを使用して達成された場合、できる 1 つのトリックは次のとおりです。ハード タブ ストップを 2 に設定します。

:set ts=2

これで、2 スペースのインデントができました (ただし、ハード タブで達成されます)。

さあ、やれ

:retab 8

これは、大まかに、ハードタブのサイズを 8 に変更する (のように:set ts=8) ことを意味しますが、同時に、インデントの外観が変わらないように、バッファー内のすべてのタブを編集します。

そのため、バッファーはまだ 2 つのスペースにインデントされていますが、:ts8 に戻っています。

設定した場合:expandtab、インデントはすべてスペースになり、それ以外の場合は、8 スペースのタブとスペースの組み合わせになります。

これがあなたの状況に当てはまらない場合でも、ハードタブを使用し、スペース別のインデントレベルを同時にretab使用するように変換したいソースを扱うのに便利なので、知っておくとよいでしょう .

于 2012-04-11T01:47:46.163 に答える
0

を使用している場合set expandtab(必要に応じて)、ファイルのインデントを次のように変更できます。

:%s/^ */  /

設定は変更方法に影響しますが、それ自体がファイルを変更するわけではありません。

于 2012-04-10T17:21:11.647 に答える