2009-11-15 10 views
46

私は最近多くのPythonコードを書いています。私はvimでタブ・ツー・スペースモードを使用しました。私はちょうど私が... ifブロックを終えた後、例えば編集モードから抜け出すことなく、どのように私がvimでインデントを解除するのだろうと思っていました。通常は入力するだけで< <と入力することができますが、キーストーンが多すぎると誰もが良いアイデアを持っていますか?vimで編集モードを離れることなくインデントを解除する方法は?

+0

タイプ>をインデントしたい場合。 set tabstop = 4 set shiftwidth = 4 set expandtab smarttab set cindent –

答えて

68

タイプCtrlキー - キーボードのDは、スペースで置き換えタブのために働く、一度に一つのタブストップを削除します。

+0

Windows上で動作するgVimで動作します。それが別の場所で動作するかどうかはわかりません。 –

+0

申し訳ありませんが、私は不器用でした。それは動作します。 +1: – Stephan202

+1

マルチラインの場合は? – Dorian

1

バックスペースは一度に1レベルのインデントを削除します。

+0

WindowsのVimでバックスペースが動作しないようですが、設定が必要ですか? – Thomson

+1

これは設定したオプションによって異なります。 –

+1

'' backspace''オプション( ':set backspace?'でチェックしてください)に依存すると私は間違っていれば修正します。 Mineは何も設定されていません(単に 'backspace =')、バックスペースキーは私のためには機能しません。おそらくそのオプション(チェックアウト ':help 'backspace'')で手を加えれば、インデントの上にバックスペースを置くことができます。 – MathSquared

12

LinuxのVimでは、Vを使って複数の行のインデントを取り消すことができます。複数の行を選択するには下矢印を押します。次に、<と入力して、すべての行のインデントを解除します。

あなたが適切 キーインデントと キーunindentingで、あなたの.vimrcに次の行を入れて、あなたが代わりにTAB文字の4つのスペースを使用することになり、代わりに

+2

これは編集モードの外で動作します。それは事実上正しいが、それは述べられた質問に対する答えではない。 – anishpatel

関連する問題