Como posso excluir rapidamente uma linha no VIM iniciando na posição do cursor?


267

Quero poder excluir o restante da linha em que estou começando na posição do cursor no VIM. Existe um comando fácil para fazer isso?

Para ajudar a ilustrar, isso é antes do comando.

The quick brown dog jumps over the lazy fox.
     ^
     |----- Cursor is here.

Isso é depois do comando

The q
     ^
     |----- Cursor is here.

Respostas:


430

(Editado para incluir as boas adições do comentarista :)

Dou seu equivalente d$excluirá o restante da linha e o deixará no modo de comando. Cou c$excluirá o restante da linha e o colocará no modo de inserção, e um novo texto será anexado à linha.

Isso faz parte vitutore vimtutor, excelentes "leituras" para iniciantes em vim.


1
Blast, achei que era algo fácil, estava pensando em alguma combinação de dseguida por algo. Imaginei que seria mais rápido postar a pergunta aqui, além de beneficiar outras pessoas que não pesquisam on-line antes de ler o manual.
Anthony

2
Ou C, a única maneira "real" de colocar o cursor na posição indicada, embora isso o coloque no modo de inserção.
28411 Walter Walter

1
@Anthony: Há também um " dseguido por algo" comando -equivalente para D, em que "algo" é o $movimento: d$.
ib.

2
E se você quiser acabar no modo de inserção, o uso C(ou c$)
Benoit

7
Percebo que essa solução já foi respondida, mas estava pesquisando uma maneira de excluir uma linha inteira com o VIM e encontrei isso. A opção que eu estava procurando era ddno modo de comando. Espero que ajude outras pessoas que tropeçam nisso.
Frito 06/02


21

Você também pode estar interessado C, mas também excluirá o final da linha D, mas, além disso, o colocará no modo Inserir no local do cursor.




5

Essa é uma pergunta muito antiga, mas como o VIM ainda é relevante, algo deve ser esclarecido.

Todas as respostas e comentários aqui em outubro de 2018 se referiram ao que seria conhecido como ação "cortada", portanto, o uso de qualquer uma delas substituirá o que está atualmente no registro não nomeado do VIM . Esse registro tende a ser tratado como uma área de transferência padrão de copiar / colar, portanto, nenhuma dessas respostas funcionará como desejado se você excluir o restante de uma linha para colar algo no mesmo local posteriormente, pois o que acabou de ser excluído será posteriormente colado no lugar do que foi arrancado antes.

O verdadeiro comando de exclusão no contexto do OP é "_D(ou "_Cse o modo de inserção é desejado) Isso envia o conteúdo excluído para o registro do buraco negro , designado por "_, onde ele nunca mais incomodará ninguém (embora você ainda possa desfazer essa ação usando u).

Dito isto, o que foi arrancado pela última vez é armazenado no registro 0 e, mesmo que seja substituído no registro sem nome, ainda pode ser colado usando "0p.

Saiba mais sobre o registro e os registros do buraco negro em geral, para diversão extra no VIM!


4

Dou ddexclui e copia a linha no registro. Você pode usar o Vxque apenas exclui a linha e permanece no modo normal.

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.