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

¿Cómo selecciono todo el contenido de un archivo en Vim y VsVim? Como en otros editores, ctrl+A hace el trabajo de seleccionar todo.

Comentarios

  • SibiCoder ' La respuesta es buena, pero sería útil saber qué piensa hacer con el contenido que copió.
  • Primero, " seleccione " algún texto en un " búfer ", no en un " archivo ". Dos, " seleccionar " suele ser inútil en Vim, por lo que debe tener claro lo que quiere hacer con ese " selección ". Para ti y para nosotros.
  • @romainly Creo que OP significa seleccionar todo el archivo en modo visual, considerando que ctrl+a en otros editores resalta visualmente todo el archivo .
  • @statox ¿Por qué editó vsvim ? ' no es un gran problema para mí, pero creo que la etiqueta es perfectamente apropiada, y no ' no quería entrar una guerra de edición. (Te habría hecho ping en :chat!, pero no has estado ' en esa habitación recientemente, así que no ' t déjame)
  • @DJMcMayhem: Fue un error: primero pensé que vsvim era como vimperator y este tipo de complementos para otros softwares y, por lo tanto, estaba fuera de tema, así que lo eliminé, luego tuve una duda, así que revisé meta y vi que era sobre el tema , así que aprobé la edición de la etiqueta, pero olvidé volver a editar la pregunta. ' estoy cambiando eso ahora mismo, lo siento.

Responder

ggVG selecciona todo el contenido. gg pasa a la primera línea. V inicia el modo visual. G salta a la última línea seleccionando de la primera a la última línea

Comentarios

  • Sigo recibiendo no un comando vim para ggVG y gg, incluso G
  • 77 upvotes y marcado como la respuesta aceptada pero ' ¿es incorrecto? Incluso según el texto de la respuesta, la combinación sería VggG.

Respuesta

Junto con SibiCoder » Como respuesta, si tiene una idea clara de lo que quiere hacer, puede utilizar lo siguiente:

:%X 

Donde X es un comando, por ejemplo:

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

También tiene el comando global :g que, 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 quieres es seleccionar el texto, entonces ggVG está bien, pero tenga en cuenta este método, en caso de que ya sepa cuál es el siguiente paso. Tenga en cuenta que no dejará el cursor en modo visual.

Consulte: :h :% y :h :g como referencia.


Tenga en cuenta que, aunque el mapeo C-A se usa en vim (consulte :h CTRL-A), puede asignarlo a haga lo que hacen otros editores:

nnoremap <C-A> ggVG 

Responder

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

Ya que mencionaste que estás usando VsVim, puedes cambiar qué claves son manejadas por Visual Studio y cuáles son manejadas por vsvim. Vaya a

Herramientas -> Opciones -> VsVim -> Teclado

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

Aunque no recomiendo esto ya que no podrá usar vim «s <C-a>, que encuentro para ser una característica esencial. Aunque depende de usted.

Respuesta

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

Comentarios

  • Archivos más grandes que 100000 líneas son posibles, aunque es poco común. Además, el uso de yy las tirará , no selecciónelas .
  • seguro que tiene razón, pero cuando seleccione algo, ' s para la mayoría de los casos cortarlas, copiarlas o eliminarlas 🙂
  • Eso ' es lo que necesitaba. Seleccionar todo y tirar.
  • Solo :%y es suficiente. O :%y + para tirar de todo en el registro +.

Responder

Como mencionó @SibiCoder, ggVG hace el truco , pero me gusta algo más cercano a Ctrl+A.

Así que agregué esta línea a mi .vimrc

nnoremap <leader>a ggVG 

Ahora presionando <leader>a se seleccionará todo, en mi caso «s \a.

Comentarios

  • ¡Bienvenido a Vi y Vim ! Teóricamente podrías map control a (<C-a>), pero resulta que tiene una funcionalidad predeterminada útil
  • Sí, eso ' s por qué prefiero <leader>a

Responder

Si tu «d como una forma más rápida / intuitiva de hacer esto y no le importa agregar un complemento, esto parece útil: https://github.com/kana/vim-textobj-entire

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *