すべての既存の (!) Python ファイルのインデントを 2 スペースから 4 スペースのシフト幅に変更したいと考えています。Vimでこれを行う方法について何か提案はありますか?
4 に答える
:set ts=4 sw=4
ハードタブ (つまり ) を使用する場合は、それだけで十分ですが、そうでnoexpandtab
はないと思います。ただし、一時的に次のように設定することで、この機能を引き続き利用できますnoet
。
:set noet | retab! | set ts=4 sw=4 et | retab
これにより、既存のスペースがタブに変換され、タブごとのスペースの数が変更され、スペースに戻ります。retab
ファイル内の他の場所の一連のスペースに影響を与える可能性があることに注意してください。
先頭のスペースの各ペアを手動で 2 倍のスペースに置き換えることもできます。
:%s/^\(\(\s\{2}\)\+\)/\1\1/g
ただし、このアプローチは一般的ではありません。
これは問題の最適な解決策ではありませんが、1 つのファイルに対してファイル全体を再インデントできます (好みに合わせてインデント ルールを構成した場合)。
Shift+ V Shift+G =
インデント レベルを 2 倍にするには、次のコマンドを使用できます。
:%s/^\s*/&&/
ハードタブのみを使用した場合 (スペースと混合していない場合)、vimrc ファイルで tabstop と shiftwidth の両方を 4 に変更してみてください
また、インデントに関するヘルプについては、http: //vim.wikia.com/wiki/Indenting_source_codeを参照してください。