¿Cómo puedo eliminar rápidamente una línea en VIM que comienza en la posición del cursor?

267

Quiero poder eliminar el resto de la línea en la que estoy comenzando en la posición del cursor en VIM. ¿Hay un comando fácil para hacer esto?

Para ayudar a ilustrar, esto es antes del comando.

The quick brown dog jumps over the lazy fox.
     ^
     |----- Cursor is here.

Esto es después del comando

The q
     ^
     |----- Cursor is here.
Antonio
fuente

Respuestas:

430

(Editado para incluir las buenas adiciones del comentarista :)

Do su equivalente d$eliminará el resto de la línea y lo dejará en modo comando. Co c$eliminará el resto de la línea y lo pondrá en modo de inserción, y se agregará texto nuevo a la línea.

Esto es parte de vitutory vimtutor, excelentes "lecturas" para principiantes vim.

thiton
fuente
1
Maldición, pensé que era algo fácil, estaba pensando en una combinación de dseguido de algo. Pensé que sería más rápido publicar la pregunta aquí y beneficiar a otras personas que buscan en línea antes de leer el manual.
Anthony
2
O C, la única forma "real" de colocar el cursor en la posición indicada, aunque eso lo pone en modo de inserción.
Walter
1
@Anthony: También hay un " dseguido de algo" comando para -equivalente D, donde "algo" es el $movimiento: d$.
ib.
2
Y si desea terminar en modo de inserción, use C(o c$)
Benoit
77
Me doy cuenta de que esta solución ya ha sido respondida, pero estaba buscando una forma de eliminar una línea completa con VIM y encontré esto. La opción que estaba buscando era dddel modo comando. Espero que ayude a cualquier otro que se encuentre con esto.
Frito
21

También puede interesarle C, también eliminará el final de línea como D, pero además lo pondrá en modo Insertar en la ubicación del cursor.

Xavier T.
fuente
9

Ejecutar en modo comando d$.

Robert Munteanu
fuente
8
DEs una solución más rápida para esto.
Sedrik
5

Esta es una pregunta muy antigua, pero como VIM sigue siendo relevante, algo debería aclararse.

Cada respuesta y comentario aquí a partir de octubre de 2018 se ha referido a lo que comúnmente se conocería como una acción de "corte", por lo que el uso de cualquiera de ellos reemplazará lo que esté actualmente en el registro sin nombre de VIM . Este registro tiende a tratarse como un portapapeles predeterminado de copiar / pegar, por lo que ninguna de estas respuestas funcionará como se desea si está eliminando el resto de una línea para pegar algo en el mismo lugar después, ya que lo que acaba de eliminar se pegará posteriormente en lugar de lo que fue tirado antes.

El verdadero comando de eliminación en el contexto del OP es "_D(o "_Csi se desea el modo de inserción). Esto envía el contenido eliminado al registro de agujeros negros , designado por "_, donde no molestará a nadie nunca más (aunque todavía puede deshacer esta acción usando u).

Dicho esto, todo lo que se tiró por última vez se almacena en el registro 0 , e incluso si se reemplaza en el registro sin nombre, todavía se puede pegar usando "0p.

¡Aprenda más sobre el registro de agujeros negros y los registros en general para diversión VIM extra!

AFOC
fuente
4

Do ddelimina y copia la línea en el registro. Puede usar el Vxcual solo elimina la línea y permanece en el modo normal.

Bahman Eslami
fuente