La sangría inteligente en vim (normalmente genial) es un desastre al pegar un fragmento de código

StackOverflow https://stackoverflow.com/questions/470551

Pregunta

Supongo que otros editores son lo suficientemente inteligentes como para apagar esas cosas para pegarlas, pero cuando se usa vim en un terminal, no se puede distinguir entre pegar y escribir realmente.

¿Qué tipo de soluciones o soluciones tiene para esto?

Agregado: también hay una configuración que hace que los comentarios continúen automáticamente en la siguiente línea. La sangría al menos no cambia la semántica del código, pero la continuación automática de comentarios realmente arruina las cosas. Ahora que lo pienso, debería desactivarlo por completo. ¿Alguien sabe cómo se llama esa opción?

¿Fue útil?

Solución

: establecer pegar es el camino a seguir, pero si olvida, como a menudo lo hago, entonces si está usando un idioma con {} como abrir / cerrar bloques, entonces haciendo un =% en el primer {o last} volverá a aplicar la sangría.

Otros consejos

: establecer pegar

agregue esto a su .vimrc y úselo con la tecla F2 para alternar el estado de pegado antes y después de agregar fragmentos de código:

set pastetoggle=<F2>

Otra forma de hacer esto, suponiendo que tenga el portapapeles de su sistema configurado correctamente es hacerlo

"*p

Esto se pegará desde el portapapeles del sistema.

Verifique su vim --version . En OS X necesitarás + portapapeles y en Linux + xterm_clipboard , creo.

Si está en OS X, siempre puede brew instalar macvim y usar mvim -v en lugar del paquete Vim (no se compiló con + portapapeles ).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top