2012-03-22 4 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

Большое спасибо. Если я открою режим Paste, есть ли какое-либо влияние на другие вещи, например, например, код редактирования и т. Д.? –

+0

он просто отключает все настройки, связанные с форматированием ввода текста. см. ': help paste' –

9

Карой-х правильный ответ относительно опции paste.

Вы можете добавить отображение в вашем .vimrc, чтобы быстро включить/выключить опцию «вставить»:

Например, я использую set pastetoggle=<F10>

Смежные вопросы