如何将源代码粘贴到vim而不出现错误格式?

如何将源代码粘贴到vim而不出现错误格式?,vim,indentation,Vim,Indentation,当我复制python代码并粘贴到vim时。缩进都是错误的。 但我粘贴到emacs或gedit中,这是正确的 这很难描述,让我们看看屏幕截图。 注意:蓝色和黄色线只是使用“缩进指南插件”。 这是源代码示例: import threading import time class timer(threading.Thread): #The timer class is derived from the class threading.Thread def __init__(self, num

当我复制python代码并粘贴到vim时。缩进都是错误的。 但我粘贴到emacs或gedit中,这是正确的

这很难描述,让我们看看屏幕截图。 注意:蓝色和黄色线只是使用“缩进指南插件”。

这是源代码示例:

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

自动缩进开始了

禁用它的最简单方法是:
:设置粘贴


Karoly关于粘贴选项的回答是正确的

然后,您可以在.vimrc中添加映射,以快速启用/禁用“粘贴”选项:

例如,我使用
set-pastetoggle=

非常感谢。如果我打开粘贴模式,是否会对其他内容产生影响,例如编辑代码等?它只会禁用与输入文本格式相关的所有设置。请参见
:帮助粘贴

: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.