¿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.
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
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.
u
.Respuestas:
Ingrese al modo visual, vaya al final del archivo, elimine.
Alternativamente, puedes hacer:
Para eliminar desde la posición actual hasta el comienzo del archivo.
fuente
vimtutor
desde la línea de comandos para familiarizarse con ellos @ ripper234dse 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
fuente
D<enter>dG
:D
eliminar a EOL,<enter>
pasar a la siguiente línea,dG
eliminar a EOF.Otro método más:
:.,$d
Eso significa en modo ex, direccionar la línea actual hasta el final y eliminar.
fuente
También podría simplemente escribir upara deshacer los cambios que resultaron en la copia pegar errante.
fuente
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:
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.
fuente
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.
fuente