当我复制一个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()
Run Code Online (Sandbox Code Playgroud)
Kar*_*ath 39
自动缩进开始了.
禁用它的最简单方法是: :set paste
Run Code Online (Sandbox Code Playgroud):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.
Xav*_* T. 11
关于该paste选项,Karoly的答案是正确的.
然后,您可以在.vimrc中添加映射,以快速启用/禁用"粘贴"选项:
例如,我用
set pastetoggle=<F10>