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は括弧がないから難しいんでしょうね。。