usar siguiente salir realiza qué ing función curso como comando buscar borrar archivo1 archivo vim

vim - siguiente - usar vi



Cómo agregar una línea después de cada pocas líneas en vim (4)

Puedes usar una macro . El proceso completo se ve así:

qq " start recording to register q (you could use any register from a to z) o " insert an empty line below cursor <Esc> " switch to normal mode jjj " move the cursor 3 lines downward q " stop recording

Luego simplemente muévase a la línea de inicio y escriba 1000@q para ejecutar su macro 1000 veces.

Quería agregar una línea después de cada 3 líneas en un archivo (con aproximadamente 1000 líneas) usando el editor vim. ¿Alguien me puede ayudar?

Gracias alisha


Yo haría esto:

:%s/^//=(line(".")%4==0?"/n":"")/g

esto funciona si su requisito cambió a "* agregar una nueva línea en blanco cada 700 líneas * s" :) simplemente cambia el "4"

PD: si necesito hacer esto, no lo haré en vim. Sed, awk, podría hacerlo mucho más simple.


hay una expresión regular específica de vim para hacer eso

:%s/.*/n.*/n.*/n//0/r/g

  • % s es el comando vim ex para sustituir en todo el archivo
  • . * / n es una línea que incluye el final de la línea
  • / 0 es la expresión completa
  • / r vim manera de decir agregar una nueva línea (no / n como uno esperaría)

Edición: si desea algo más que una nueva línea, simplemente coloque el texto delante de la / r (se escaparon correctamente las expresiones regulares, si contiene algunos caracteres de expresiones regulares)


" insert a blank line every 3 lines :%s//v(.*/n){3}/&/r : .............. command % .............. whole file s .............. replace / .............. start pattern that we will replace /v ............. very magic mode, see :h very-magic (.*/n) ......... everything including the line break {3} ............ quantifier / .............. start new pattern to replace & .............. corresponds to the pattern sought in (.*/n) /r ............. add line break

fuente: http://www.rayninfo.co.uk/vimtips.html