Como selecionar / excluir até o final do arquivo no vim / gvim?


42

Acidentalmente, consegui copiar e colar um parágrafo no vim um zilhão de vezes. Como seleciono e excluo o texto da minha posição atual até o final do arquivo?

No Windows, seria Ctrl-Shift-End, seguido de Excluir.


Vim desfaz. Pressione u.
Kusalananda

Respostas:


49
VGx

Entre no Modo Visual, vá para Fim do arquivo, exclua.

Como alternativa, você pode fazer:

Vggx

Para excluir da posição atual até o início do arquivo.


1
Ugh, nunca vou me lembrar de todos esses atalhos do vim. Os atalhos do Windows são muito mais intuitivos.
Ripper234 27/05

Pessoalmente, acho o vim mais intuitivo. V, entre no modo visual G, quase como "go", até o final do arquivo. E x, remova.
Mark Szymanski

10
@ ripper234: não tente se lembrar de "trechos" para executar tarefas específicas, concentre-se nos subcomandos. Isso faz parte da mágica do vim: usar esses comandos menores para criar coisas maiores e mais complexas. É quase infinitamente flexível.
Reid

E realmente ajuda muito a
dedicar algum

1
Para acrescentar a isto: correr vimtutora partir da linha de comando para se familiarizar com eles @ ripper234
Bernhard

48

dé excluído e Gmove para o final do arquivo, portanto dG, exclui para o final do arquivo. Ele inclui toda a linha atual; se você estiver na linha intermediária e quiser preservar tudo antes da posição atual, precisará usar o método de Mark


+1 A outra maneira de preservar parte da linha atual é D<enter>dG: Dexcluir para EOL, <enter>passar para a próxima linha, dGexcluir para EOF.
Jim L.

8

Ainda outro método: :.,$d

Isso significa que no modo ex, endereça a linha atual até o fim e exclua.


7

Você também pode digitar upara desfazer as alterações que resultaram na cópia-colar incorreta.


nem sempre é possível, consulte o "selecionar". Imagine que você tenha escrito algum código no final do arquivo (e o queira em outro lugar), o dG permite a inserção com p | P
relascope

2
vGx

funciona bem para a seleção de várias linhas (neste caso, parágrafo), mas se você deseja selecionar em uma única linha, ela age misteriosamente (seleciona do cursor até o início da linha).

No caso de seleção na linha Única, você deve usar:

v$x

Que entra no modo Visual ("v") e vai para o final da linha ("$") e exclui ("x") da posição atual até o final da linha.


0

Vggx não funcionou para mim, mas vG $ d funcionou. vG $ seleciona EOF (último caractere da última linha) e, em seguida, qualquer comando que você deseja executar.

= Esta abordagem (comando após seleção) parece funcionar melhor. Claro, estou usando o Vim 8.1 no Windows 10 e alguns anos depois.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.