He intentado seguir lo siguiente:
Cómo borrar el texto seleccionado en el editor VI
pero
5dd
da
E492: no es un comando de editor: 5dd
Entonces intenté:
5d
Que solo elimina una sola línea. ¿Cómo puedo eliminar varias líneas?
He intentado seguir lo siguiente:
Cómo borrar el texto seleccionado en el editor VI
pero
5dd
da
E492: no es un comando de editor: 5dd
Entonces intenté:
5d
Que solo elimina una sola línea. ¿Cómo puedo eliminar varias líneas?
Respuestas:
Parece que está ingresando los comandos en modo comando (también conocido como "modo Ex"). En ese contexto
:5d
eliminaría la línea número 5, nada más. Para5dd
que funcione según lo previsto, es decir, elimine cinco líneas consecuentes que comienzan en el cursor, ingréselo en modo normal y no prefija los comandos con:
.fuente
Esto me parece más fácil
/superuser/170795/how-can-i-select-and-delete-lines-of-text-in-vi
fuente
Puede eliminar varias líneas (rango) si conoce los números de línea:
Nota: d significa eliminar
dónde,
start_line_no es la línea inicial que no desea eliminar y end_line_no es la línea final que no desea eliminar. Las líneas entre el inicio y el final, incluidos el inicio y el final, se eliminarán.
P.ej:
Las líneas entre 45 y 101 incluyendo 45 y 101 serán borradas.
fuente
$
para denotar la última línea del archivo. Por:45,$d
lo tanto , eliminaría todas las líneas desde 45 hasta el final./<\/div>/
:.,[end_line_no]d
Comandos enumerados para su uso en modo normal (prefijo con :para modo de comando).
Probado en Vim.
Por cantidad de línea:
Por números de línea:
Backwards range given, OK to swap (y/n)?
fuente
Si prefiere un método de modo no visual y reconoce los números de línea, me gustaría sugerirle otra forma directa.
Ejemplo
Mi método le sugiere que escriba un comando a continuación en modo comando:
Se lee:
Tenga en cuenta
vim
que puede utilizargg
en lugar deG
.Compare con la respuesta de @Bonnie Varghese que es:
El comando anterior de su respuesta requiere escribir 9 veces enter, incluido , donde mi respuesta requiere escribir 8-10 veces. Por lo tanto, la velocidad de mi método es comparable.
En lo personal, yo prefiero
45Gd101G
más:45,101d
porque me gusta que se adhieren a la sintaxis de la orden del VI, en este caso es:fuente
d5d "corta" cinco líneas
Por lo general, solo lanzo el número en el medio como:
d7l = borrar 7 letras
fuente
Presione la Esctecla para asegurarse de que no está en modo de edición. Coloque el cursor en la primera línea que se eliminará. Introduzca
:5dd
. La línea actual y las siguientes cuatro líneas deben eliminarse.Alternativamente, si tiene activada la numeración de líneas ...
Presione la Esctecla para asegurarse de que no está en modo de edición. Ingrese
:#,#d
donde '#' representa los números de línea inicial y final que se eliminarán.fuente
Tipo (para líneas numeradas).
:set number
fuente
Si desea eliminar un rango DESPUÉS de un disparador de línea específico, puede usar algo como esto
Eso elimina 11 líneas (inclusive) después de cada encuentro de
^TMPDIR
.fuente
es dxd, no ddx
si desea eliminar 5 líneas, pase el cursor al comienzo de la primera línea para eliminar y d5d
fuente
Para eliminar todas las líneas, use: ESC gg dG Para eliminar algunas líneas, digamos 5 y luego use ESC 5dd
fuente
Se podría hacer de la siguiente manera ...
fuente