2012-03-22 33 views
19

Khi tôi sao chép mã python và dán vào vim. indents là tất cả các lỗi. nhưng tôi dán vào emacs hoặc gedit, nó là đúng.Làm thế nào để dán mã nguồn để vim mà không có định dạng lỗi?

rất khó để đánh giá, hãy xem ảnh chụp màn hình. Lưu ý: dòng màu xanh và màu vàng chỉ sử dụng "plugin hướng dẫn thụt lề". the screenshot

Đây là ví dụ mã nguồn:.

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

Trả lời

32

thụt tự động đá vào

Cách dễ nhất để vô hiệu hóa nó là: :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

Thank you very much. Nếu tôi mở chế độ Dán, Có bất kỳ ảnh hưởng nào đối với những thứ khác, ví dụ như chỉnh sửa mã và v.v ... không? –

+0

nó chỉ vô hiệu hóa tất cả các cài đặt liên quan đến định dạng văn bản đầu vào. xem ': help paste' –

9

Karoly của câu trả lời đúng liên quan đến tùy chọn paste.

Sau đó bạn có thể thêm một bản đồ trong vimrc của bạn để nhanh chóng kích hoạt/vô hiệu hóa 'dán' tùy chọn:

Ví dụ, tôi sử dụng set pastetoggle=<F10>

Các vấn đề liên quan