tutorial - vim the ubiquitous text editor
¿Cómo pegar el código fuente a vim sin formato de error? (2)
Cuando copio un código de python, y pego a vim. Las sangrías son todas de error. Pero pego en emacs o gedit, es correcto.
Eso es difícil de describir, veamos la captura de pantalla. Aviso: la línea azul y amarilla es simplemente usar el "complemento de guiones de sangría".
Este es el ejemplo del código fuente:
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()
La muesca automática entró en acción.
La forma más fácil de desactivarlo es :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.
La respuesta de Karoly es correcta con respecto a la opción de paste
.
Luego puede agregar una asignación en su .vimrc para habilitar / deshabilitar rápidamente la opción ''pegar'':
Por ejemplo, uso set pastetoggle=<F10>