2012-03-22 12 views
19

私はPythonコードをコピーし、vimに貼り付けます。インデントはすべてエラーです。 私はemacsまたはgeditに貼り付けますが、それは正しいです。ソースコードをエラーフォーマットなしでvimに貼り付けるにはどうすればいいですか?

これは説明が難しいので、スクリーンショットを見てみましょう。 注意:青と黄色の線は「インデントガイドプラグイン」を使用しているだけです。 the screenshot

この は、ソースコードの例です。

import threading 
import time 
class timer(threading.Thread): #The timer class is derived from the class threading.Thread 
    def __init__(self, num, interval): 
     threading.Thread.__init__(self) 
     self.thread_num = num 
     self.interval = interval 
     self.thread_stop = False 

    def run(self): #Overwrite run() method, put what you want the thread do here 
     while not self.thread_stop: 
      print 'Thread Object(%d), Time:%s/n' %(self.thread_num, time.ctime()) 
      time.sleep(self.interval) 
    def stop(self): 
     self.thread_stop = True 


def test(): 
    thread1 = timer(1, 1) 
    thread2 = timer(2, 2) 
    thread1.start() 
    thread2.start() 
    time.sleep(10) 
    thread1.stop() 
    thread2.stop() 
    return 

if __name__ == '__main__': 
    test() 

答えて

32

自動インデントが蹴ら

それを無効にする最も簡単な方法は次のとおりです。:set paste

:help paste 

'paste'     boolean (default off)  
         global 
         {not in Vi} 
    Put Vim in Paste mode. This is useful if you want to cut or copy 
    some text from one window and paste it in Vim. This will avoid 
    unexpected effects. 
    Setting this option is useful when using Vim in a terminal, where Vim 
    cannot distinguish between typed text and pasted text. In the GUI, Vim 
    knows about pasting and will mostly do the right thing without 'paste' 
    being set. The same is true for a terminal where Vim handles the 
    mouse clicks itself. 
+0

を使用ありがとうございました。貼り付けモードを開くと、編集コードなどの他のものに影響がありますか? –

+0

入力テキストの書式設定に関連するすべての設定を無効にするだけです。 ':help paste'を参照してください。 –

9

Karolyさん答えは正しいpasteオプションに関する

あなたが、その後すぐに/無効「ペースト」オプションを有効にするために、あなたの.vimrcにマッピングを追加することができます

例えば、私は set pastetoggle=<F10>

関連する問題