2012-03-22 9 views
19

जब मैं एक पायथन कोड कॉपी करता हूं, और 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

यह इनपुट टेक्स्ट स्वरूपण से संबंधित सभी सेटिंग्स को अक्षम करता है। देखें ': पेस्ट मदद करें' –

9

कारोले के जवाब सही है paste विकल्प के संबंध में।

उसके बाद आप सक्षम करने के लिए/अक्षम 'पेस्ट' विकल्प अपने .vimrc में एक मानचित्रण जोड़ सकते हैं:

उदाहरण के लिए, मैं का उपयोग set pastetoggle=<F10>

संबंधित मुद्दे