¿Cuál es el comando para "Seleccionar todo" en vim y VsVim?


22

¿Cómo selecciono todo el contenido de un archivo en Vim y VsVim? Al igual que en otros editores, ctrl+Ahace el trabajo para seleccionar todo.


3
La respuesta de SibiCoder es buena, pero sería útil saber qué piensa hacer con el contenido que copió.
Ley29

55
Primero, "selecciona" algo de texto en un "búfer", no en un "archivo". Dos, "seleccionar" a menudo es inútil en Vim, por lo que debe tener claro lo que quiere hacer con esa "selección". Para ti y para nosotros.
romainl

3
@romainly Creo que el OP significa seleccionar todo el archivo en modo visual, considerando que ctrl+aen otros editores destaca visualmente todo el archivo.
EvergreenTree

@statox ¿Por qué editaste vsvim ? No es un gran problema para mí, pero creo que la etiqueta es perfectamente apropiada, y no quería entrar en una guerra de edición. (Te habría pillado :chat!, pero no has estado en esa habitación recientemente, por lo que no me dejaría)
James

@DJMcMayhem: Fue un error: primero pensé que vsvimera como vimperatoreste tipo de complementos para otros softwares y, por lo tanto, estaba fuera del tema, así que lo eliminé, luego tuve una duda, así que verifiqué meta y vi que estaba en el tema, así que aprobó la edición de su etiqueta pero olvidó editar la pregunta nuevamente. Estoy cambiando eso ahora, lo siento.
statox

Respuestas:


27

ggVGselecciona todo el contenido. ggse mueve a la primera línea. Vinicia el modo visual. Gsalta a la última línea seleccionando así de primera a última línea


15

Junto con la respuesta de SibiCoder, si tiene una idea clara de lo que quiere hacer, puede usar lo siguiente:

:%X

¿Dónde Xestá un comando, por ejemplo:

:%d             -> delete every line
:%y             -> yank every line
:%normal! >>    -> indent every line

También tiene el comando global :gque, con el patrón de búsqueda ^, puede hacer lo mismo:

:g/^/d             -> delete every line
:g/^/y             -> yank every line
:g/^/normal! >>    -> indent every line

Si lo que desea es seleccionar el texto, entonces ggVGestá bien, pero tenga en cuenta este método, en el caso de que ya sepa cuál es el siguiente paso. Tenga en cuenta que no dejará el cursor en modo visual.

Ver: :h :%y :h :gpara referencia.


Tenga en cuenta que, aunque la C-Aasignación se utiliza en vim (ver :h CTRL-A), puede asignarla para hacer lo que hacen otros editores:

nnoremap <C-A> ggVG

4

Las otras respuestas son buenas. Aquí hay otra alternativa.

Como usted menciona que está usando VsVim, puede cambiar qué teclas maneja Visual Studio y qué teclas maneja vsvim. Ir

Herramientas -> Opciones -> VsVim -> Teclado

Desde allí, puede configurar que Ctrl-a sea manejado por Visual Studio, en lugar de VsVim.

Aunque no lo recomiendo, ya que no podrás usar vim's <C-a>, lo cual considero que es una característica esencial. Aunque depende de ti.


0

puede usar un número grande como 99999yy para seleccionar todo el contenido de su archivo


3
Los archivos más grandes que las 100000líneas son posibles, aunque raros. Además, el uso yylos tirará , no los seleccionará .
James

1
Sí, seguro que tienes razón, pero cuando seleccionas algo es para la mayoría de los casos cortarlos, copiarlos o eliminarlos :)
Adel Kihal

Eso es lo que necesitaba. Seleccionar todo y tirar.
Ivan
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.