¿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
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 deyy
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
ctrl+a
en otros editores resalta visualmente todo el archivo .:chat!
, pero no has estado ' en esa habitación recientemente, así que no ' t déjame)vsvim
era comovimperator
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.