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.
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
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.
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.
u
.Respostas:
Entre no Modo Visual, vá para Fim do arquivo, exclua.
Como alternativa, você pode fazer:
Para excluir da posição atual até o início do arquivo.
fonte
vimtutor
a partir da linha de comando para se familiarizar com eles @ ripper234dé 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
fonte
D<enter>dG
:D
excluir para EOL,<enter>
passar para a próxima linha,dG
excluir para EOF.Ainda outro método:
:.,$d
Isso significa que no modo ex, endereça a linha atual até o fim e exclua.
fonte
Você também pode digitar upara desfazer as alterações que resultaram na cópia-colar incorreta.
fonte
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:
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.
fonte
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.
fonte