qual é o comando para "Selecionar tudo" no vim e no VsVim?

21

Como seleciono todo o conteúdo de um arquivo no Vim e no VsVim? Como em outros editores ctrl+A, o trabalho é selecionar todos.

Armaan
fonte
3
A resposta do SibiCoder é boa, mas seria útil saber o que você pretende fazer com o conteúdo que copiou.
Law29
5
Primeiro, você "seleciona" algum texto em um "buffer", não em um "arquivo". Segundo, "selecionar" costuma ser inútil no Vim; portanto, você deve ter clareza sobre o que deseja fazer com essa "seleção". Para você e para nós.
Romainl 31/07/19
3
@ Geralmente, acho que o OP significa selecionar o arquivo inteiro no modo visual, considerando que ctrl+aem outros editores destaca visualmente o arquivo inteiro.
EvergreenTree
@statox Por que você editou o vsvim ? Não é um grande problema para mim, mas acho que a tag é perfeitamente apropriada e não queria entrar em uma guerra de edição. (Eu teria pingado-lo em :chat!, mas você não foi na sala recentemente, por isso não me deixou)
James
@DJMcMayhem: Foi um erro: eu primeiro pensei que vsvimera assim vimperatore esse tipo de plugins para outros softwares e, portanto, estava fora do tópico, então eu o removi, então eu tinha uma dúvida, então verifiquei a meta e vi que estava no tópico, então eu aprovou a edição da sua tag, mas esqueceu de editar a pergunta novamente. Estou mudando isso agora, desculpe por isso.
Statox

Respostas:

27

ggVGseleciona todo o conteúdo. ggmove para a primeira linha. Vinicia o modo visual. Gpula para a última linha, selecionando da primeira à última linha

SibiCoder
fonte
15

Juntamente com a resposta do SibiCoder, se você tem uma ideia clara do que deseja fazer, pode usar o seguinte:

:%X

Onde Xestá um comando, por exemplo:

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

Você também tem o comando global :gque, com o padrão de pesquisa ^, pode fazer o mesmo:

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

Se o que você deseja é selecionar o texto, tudo ggVGbem, mas lembre-se desse método, caso você já saiba qual é o próximo passo. Observe que ele não deixará o cursor no modo visual.

Veja: :h :%e :h :gpara referência.


Observe que, embora o C-Amapeamento seja usado no vim (consulte :h CTRL-A), você pode mapeá-lo para fazer o que outros editores fazem:

nnoremap <C-A> ggVG
nobe4
fonte
4

As outras respostas são boas. Aqui está outra alternativa.

Como você menciona que está usando o VsVim, é possível alterar quais chaves são tratadas pelo visual Studio e quais chaves são manipuladas pelo vsvim. Vamos para

Ferramentas -> Opções -> VsVim -> Teclado

A partir daí, você pode definir o Ctrl-a para ser tratado pelo Visual Studio, em vez do VsVim.

Embora eu não recomende isso, pois você não poderá usar o vim's <C-a>, o que considero um recurso essencial. Embora seja com você.

James
fonte
0

você pode usar um número grande como 99999yy para selecionar todo o conteúdo do seu arquivo

Adel Kihal
fonte
3
Arquivos maiores que 100000linhas são possíveis, embora raros. Além disso, o uso yyos arrancará , não os selecionará .
James
1
yah certeza de que está certo, mas ao selecionar algo que é para a maioria dos casos para cortar, copiar ou eliminar os comentários :)
Adel Kihal
Era disso que eu precisava. Selecione tudo e puxe.
Ivan