Estoy usando Ubuntu e intento eliminar las 100 líneas del vi
editor, pero recibí la pregunta de la entrevista de hacer esto en un solo comando.
command-line
vi
command
Mayur Mehta
fuente
fuente
echo -n > <file>
elimina todas las líneas de un archivo (en realidad solo sobrescribe el archivo con "").echo
nada para eso;> $file
funciona bienvi
en una entrevista?vim-gtk
paquete, ya que eso le da acceso al xclipboard dentro de vim), escribavimtutor
en la línea de comando (no dentro de vim) para obtener un tutorial interactivo de los conceptos básicos. No debería tomar más de media hora, y es la mejor guía de inicio para usar vi / vim que es probable que encuentre.vi
(verbalmente o por currículum) o si la pregunta estaba precedida por: "Bien, como administrador de sistemas debe saber algo de editores de línea de comandos, correcto ¿Lo has usadovi
?Respuestas:
En modo normal, hacer
dd
elimina la línea actual. El prefacio de ese comando100
hace que se repita 100 veces.Si hay menos de 100 líneas en el archivo a partir de la línea actual, dependiendo de la
vi
implementación, no podrá eliminar ninguna o eliminará tantas como haya. En el caso devim
, eso depende de si la opcióncp
akacompatible
está activada o no.fuente
100dd
Es la respuesta correcta. Me pregunto qué estás haciendo.eliminar 100 líneas hacia adelante desde (incluida) la actual
Repita dd (eliminar la línea actual) 100 veces:
eliminar de la línea actual a 99 líneas hacia adelante
eliminar 100 líneas hacia atrás desde (incluida) la actual
eliminar líneas en un rango específico por número de línea
eliminar líneas en un rango que comienza con la línea actual
etcétera etcétera.
fuente
:.,+99d
Si se van a eliminar todas las líneas del archivo, este comando vi especifica el rango de eliminación:
1
denota la primera línea y$
denota la última líneafuente
:%d
(en ":" contexto, ":% ..." es el acceso directo para ": 1, $ ...")d
G
llaves y rarr; matar todo el contenido desde la línea real [por ejemplo, la línea superior] hasta la línea inferior¿Quieres eliminar todas las líneas de un archivo? Abre el archivo con
vi
. Mientras está al comienzo de la primera línea, la ubicación predeterminada del cursor cuando acaba de abrir el archivo, presione Escseguido de dG.Solo para tener en cuenta, la acción
d
indica eliminar eG
indica la última línea del archivo. Entonces, mientras presiona en cualquier línea dG, elimina toda la línea que comienza desde la línea actual hasta la última.Si sabe qué líneas consecutivas para eliminar - por ejemplo, a partir de la línea 101 a 200 - tipo en las siguientes secuencias de teclas: Esc:101,200d.
fuente
No importa en qué parte del archivo se encuentre, puede hacer
ggdG
:%d
haría mejor en menos pulsaciones de teclas. Bueno, contando las teclasshift
yenter
, en realidad dos pulsaciones de teclas más que las anteriores.Hacer algo así
100dd
solo eliminaría hasta 100 líneas de donde se encuentra, y eso puede no eliminar todas las líneas del archivo, dependiendo de su posición actual.fuente
Esc n dd. n es el número de líneas para eliminar e incluyendo la línea actual. Presione el botón "Esc", luego "n" y luego "dd". Para mejorar tu comprensión
fuente