regular-expression – Eliminar n líneas, omitir 1 línea de secuencia de comandos

Pregunta:

Quiero crear un script Vim básico que simplemente borre n líneas, salte 1 línea y se repita hasta el final del documento. No me importan las coincidencias específicas, solo quiero eliminar la línea. Por ejemplo; Entonces quiero repetir el comando 3ddj para todo el documento.

Text I want to keep.   
Text I want to delete.  
Text I want to delete.  
Text I want to delete.  
Text I want to keep.  
Text I want to delete.  
Text I want to delete.  
Text I want to delete.  
Text I want to keep.  
Text I want to delete.  
Text I want to delete.  
Text I want to delete.   

Entonces parece que …

Text I want to keep.  
Text I want to keep.  
Text I want to keep.  

Gracias.

Respuesta:

Enfoque muy simple:

  1. Vaya a la primera línea que desea eliminar.
  2. Grabar una macro: qa3ddjq
  3. Repítelo con un número alto: 1000 @ a

El paso tres repetirá la macro mil veces o hasta que se encuentre un error. Al presionar el final del archivo (por lo tanto, no hay líneas para eliminar) produce un error y se cancela la repetición de la macro.

Ver :help recording .

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım