2012-03-22 24 views
19

Po skopiowaniu kodu Pythona i wklejeniu do vima. wszystkie wcięcia są błędem. ale wkleję do emacs lub gedit, to prawda.Jak wkleić kod źródłowy do vima bez formatu błędu?

że trudno describle, zobaczmy zrzut ekranu. Uwaga: niebieska i żółta linia to po prostu "wtyczka indent guide". the screenshot

To jest przykładowy kod źródłowy.

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() 

Odpowiedz

32

Automatyczne wcięcia kopnął w

Najprostszym sposobem, aby go wyłączyć to: :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

Dziękuję bardzo. Jeśli otworzę tryb Wklej, czy istnieje wpływ na inne rzeczy, na przykład takie jak kod edycji i tak dalej? –

+0

po prostu wyłącza wszystkie ustawienia związane z formatowaniem tekstu wejściowego. zobacz ': help paste' –

9

Karoly użytkownika odpowiedź jest poprawna dotyczące opcji paste.

Następnie można dodać mapowanie w .vimrc wyłączyć opcję „pasta”, aby szybko włączyć /:

Na przykład, używam set pastetoggle=<F10>