回答:
Ctrl+D1つのタブストップをバックアップするために使用できます。これにより、実際には行全体がタブストップの1つ左に移動します。Ctrl+T右側にも同じことを行います。これらのキーストロークは、挿入モードでのみ機能することに注意してください(コマンドモードでの使用<<
と>>
同等)。
tl; dr: set tabstop=4 softtabstop=-1 shiftwidth=0 expandtab
ショートフォーム: set ts=4 sts=-1 sw=0 et
これを設定softtabstop
(またはsts
)-1
すると、自動的にtabstop
(ts
)と同じように動作します。これにより、タブ移動を大幅に変更した場合に手間が省けます。shiftwidth
(sw
)を設定0
すると、同様に効果的になるはずtabstop
です。
shiftwidth
sw
(自動)インデントの各ステップで使用するスペースの数。以下のために使用される
cindent
、>>、<<、など
ゼロときにtabstop
値が使用されます。
tabstop
ts
ファイル内のaがカウントするスペースの数。:retabコマンドと
softtabstop
オプションも参照してください 。
softtabstop
sts
のTab挿入Tabや使用など、編集操作の実行中にカウントされるスペースの数BS。sが挿入されているように 感じTabますが、実際にはスペースとsの混合が使用されます。これは、
tabs
isを標準値に設定したまま、に設定されているように編集するのに役立ちsts
ます。 場合sts
負である、の値がshiftwidth
使用されます。これにより、タブストップを大幅に変更する場合の手間が省けます。expandtab
が設定されていない場合、スペースの数はTabs を使用して最小化されます。
expandtab
et
挿入モードの場合:適切な数のスペースを使用してを挿入します。スペースは、>および<コマンドのインデントで使用され、
autoindent
オンになっています。expandtab
オンのときに実際のタブを挿入するには、Ctrl-を使用しますV Tab。:retabも参照してください
このようなものが欲しい人のためにGreedyBackspace.vimを書きました。個人的には使用しないので、更新してからしばらく経ちました。しかし、最近はバグ報告を受け取っていません。
VIMでタブの展開設定を使用して確認しましたか?
:set noet
私は通常、ファイルの作業中はタブをオンにしたままにしておきます。
必要な場合、タブを4つのスペースまたは必要な数のスペースに置き換えます。
:%s/<ctrl+V><tab>/ /g
----
小さなボーナスとして、ソースファイルはタブごとに3文字短くなります。 :-)