LoginSignup
100
82

More than 5 years have passed since last update.

ペーストしたらインデントがずれてしまった時の対処法

Last updated at Posted at 2016-03-13

vimでペーストしようとしたら、インデントがずれてしまうことってよくありますよね。
対応方法をよく忘れるので自分のためにも書いておきます。

ペースト前

# -*- coding: utf-8 -*-

class testclass:

    def __init__(self):
        print("create testclass", end="")

    def testmethod(self,str):
        print(r"call \testmethod")
        print(str)

ペースト後

# -*- coding: utf-8 -*-

class testclass:

        def __init__(self):
                    print("create testclass", end="")

                        def testmethod(self,str):
                                    print(r"call \testmethod")
                                            print(str)

解決策1 - set paste

ペースト前にこれを入力すれば、そのままペーストできます。

:set paste

# こんな表示になる
-- INSERT (paste) --

モードを元に戻したい時はこれ。

:set nopaste

以下、 @D4prog さんのコメントより。

:set paste!

を使えば、履歴で再度 :set paste! を打てば 元のモードに戻れる。簡単!

解決策2 - gg=G

@okamos さんにコメントしてもらった内容。
貼り付け後に以下を実行すればいい感じに整形されます。
こっちのほうが手間が少なくて良さそう。

gg=G

以下、簡単な説明。

figure description
gg 1行目へ移動
=X 現在の行からX行までを整形する
G 末尾

しかし残念ながら私が普段よく使うpythonだとうまく反映されない模様。
pythonは括弧がないから難しいんでしょうね。。

100
82
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
100
82