10

多くの場合、vimに貼り付けると、修正するのが非常に面倒なカスケードインデントが発生します。結果は次のようになります

This is line one
    This is line two
        This is line three
            This is line four

2行目から4行目を1行目に揃えるようにvimに指示する方法があるかどうか知りたいのですが。1行目のテキストがカーソル位置6から始まっている場合、「次の10行も位置6から始めますか?」と言う方法はありますか?

4

3 に答える 3

14

このカスケードインデントを修正するには、を使用してブロックを再インデントします=。ビジュアルブロックを選択し=、モーションを入力または=4j指定します。次の4行を再度インデントします。

paste貼り付ける前に設定することで、カスケードインデントを回避できます:set paste。貼り付け後:set nopaste

于 2012-10-18T16:06:11.727 に答える
4

:set pasteテキストに貼り付けるときにこれを回避するために使用できます。また、で範囲のインデントレベルを設定できますleft

:<range>left3

例えば

.,+4left3

次の4行のインデントを3に設定します。

注:範囲はビジュアルモードで定義できます。でいくつかの行を選択してS-vからを押すだけです。:left4

于 2012-10-18T16:06:31.813 に答える
2

貼り付ける前に、を行い:set paste、貼り付けた後、を行います:set nopaste

または、クリップボードレジスタでVimの組み込みの貼り付けコマンドを使用します。

"+p (paste after the cursor or below the line)
"+P (paste before the cursor or above the line)

:help 'paste'およびを参照してください:help registers

于 2012-10-18T16:06:34.793 に答える