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.

ripper234
fonte
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.

Mark Szymanski
fonte
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

Michael Mrozek
fonte
+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.

Keith
fonte
7

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

vimmar
fonte
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.

Kayvan Tehrani
fonte
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.

user3473636
fonte