2012-03-22 15 views
19

Quando copio un codice python e lo incollo su vim. i rientri sono tutti errori. ma si incolla in emacs o gedit, è giusto.Come incollare il codice sorgente su vim senza il formato dell'errore?

che è difficile da descrivere, vediamo lo screenshot. Avviso: la linea blu e gialla è solo utilizzare il "plug indent guide". the screenshot

Questo è l'esempio di codice sorgente:.

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

risposta

32

indentazione automatica calci

Il modo più semplice per disattivarlo è: :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

Grazie mille. Se apro la modalità Incolla, c'è qualche influenza sulle altre cose, ad esempio come il codice di modifica e così via? –

+0

semplicemente disabilita tutte le impostazioni relative alla formattazione del testo di input. vedi ': help paste' –

9

Karoly di la risposta è corretta per quanto riguarda l'opzione paste.

È quindi possibile aggiungere una mappatura nel vostro .vimrc opzione di disattivazione 'paste' per abilitare/rapidamente:

Ad esempio, io uso set pastetoggle=<F10>

Problemi correlati