How to paste source code to vim without error format?

丶灬走出姿态 提交于 2019-11-28 22:29:39

问题


When I copy a python code, and paste to vim. the indents are all error. but I paste into emacs or gedit, it is right.

that is difficult to describle, let's see the screenshot. Notice:the blue and yellow line is just use the "indent guides plugin".

This is the source code example:

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

回答1:


Automatic indenting kicked in.

The easiest way to disable it is: :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.



回答2:


Karoly's answer is correct regarding the paste option.

You can then add a mapping in your .vimrc to quickly enable/disable 'paste' option:

For example, I use set pastetoggle=<F10>



来源:https://stackoverflow.com/questions/9822618/how-to-paste-source-code-to-vim-without-error-format

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!