回答:
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の混合が使用されます。これは、
tabsisを標準値に設定したまま、に設定されているように編集するのに役立ち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文字短くなります。 :-)