¿Cómo seleccionar / eliminar hasta el final del archivo en vim / gvim?

42

Accidentalmente logré copiar y pegar un párrafo en vim un billón de veces. ¿Cómo selecciono y luego elimino el texto de mi posición actual al final del archivo?

En Windows, esto sería Ctrl-Shift-End, seguido de Eliminar.

ripper234
fuente
Vim tiene deshacer. Presione u.
Kusalananda

Respuestas:

49
VGx

Ingrese al modo visual, vaya al final del archivo, elimine.

Alternativamente, puedes hacer:

Vggx

Para eliminar desde la posición actual hasta el comienzo del archivo.

Mark Szymanski
fuente
1
Ugh, nunca recordaré todos estos atajos vim. Los atajos de Windows son mucho más intuitivos.
ripper234
Personalmente, creo que vim es más intuitivo. V, ingrese al modo visual G, casi como "ir", al final del archivo. Y x, eliminar.
Mark Szymanski
10
@ ripper234: no intente recordar "fragmentos" para realizar tareas específicas, concéntrese en los subcomandos. Eso es parte de la magia de vim: usar estos comandos más pequeños para construir cosas más grandes y complejas. Es casi infinitamente flexible.
Reid
Y realmente ayuda mucho tomarse el tiempo y leer las secciones relacionadas de vim-help con: h command-you-need-help-for
Gjallar
1
Para agregar a esto: ejecute vimtutordesde la línea de comandos para familiarizarse con ellos @ ripper234
Bernhard
48

dse elimina y se Gmueve al final del archivo, por lo que dGse eliminará al final del archivo. Sin embargo, incluye toda la línea actual; si estás en la línea media y quieres preservar todo antes de la posición actual, debes usar el método de Mark

Michael Mrozek
fuente
+1 La otra forma de preservar parte de la línea actual es D<enter>dG: Deliminar a EOL, <enter>pasar a la siguiente línea, dGeliminar a EOF.
Jim L.
8

Otro método más: :.,$d

Eso significa en modo ex, direccionar la línea actual hasta el final y eliminar.

Keith
fuente
7

También podría simplemente escribir upara deshacer los cambios que resultaron en la copia pegar errante.

vimmar
fuente
no siempre es posible, ver "seleccionar". Imagine que ha escrito un código al final del archivo (y lo quiere en otro lugar), dG le permite la inserción con p | P
relascopio
2
vGx

funciona bien para la selección de varias líneas (en este caso, párrafo), pero si desea seleccionar dentro de una sola línea, actúa misteriosamente (selecciona desde el cursor hasta el comienzo de la línea).

En caso de selección dentro de una sola línea, debe usar:

v$x

Que ingresa al modo Visual ("v") y va al final de la línea ("$") y elimina ("x") de la posición actual hasta el final de la línea.

Kayvan Tehrani
fuente
0

Vggx no funcionó para mí, pero vG $ d sí. vG $ selecciona EOF (último carácter de la última línea), luego cualquier comando que desee ejecutar.

= Este enfoque (comando después de la selección) parece funcionar mejor. Por supuesto, estoy usando Vim 8.1 en Windows 10, y unos años más tarde.

usuario3473636
fuente