Como você exclui todo o texto acima de uma determinada linha


239

Como você exclui todo o texto acima de uma determinada linha. Para exclusão abaixo de uma linha, eu uso "d shift g"

Respostas:


491
dgg

excluirá tudo da sua linha atual até a parte superior do arquivo.

dé o comando de exclusão e ggé um comando de movimento que diz ir para a parte superior do arquivo; portanto, quando usados ​​juntos, significa excluir da minha posição atual para a parte superior do arquivo.

Além disso

dG

excluirá todas as linhas iguais ou abaixo da atual


25
E o kdgg fará o mesmo, exceto não excluir a linha em questão.
— Rook

1
O que exatamente significa a ggexclusão depois?

3
gg é um atalho do Vim - ": help gg" diz: Goto line [count], primeira linha padrão, no primeiro caractere não em branco | linewise |. Se startofline 'não estiver definido, mantenha a mesma coluna.
— Andy White

35
Para quem procura, dGexcluirá todas as linhas iguais ou inferiores à atual.
— dimo414

1
@ dan3 Acho que o significado de "parte superior do arquivo" é bastante claro com base na pergunta, mas você pode editar minha resposta, se quiser, ou pode criar sua própria resposta usando a terminologia que desejar.
— Andy White

38

:1,.dexclui as linhas 1 para atual.
:1,.-1dexclui as linhas 1 acima da corrente.

(Pessoalmente, eu usaria dggou kdgggostaria das outras respostas, mas TMTOWTDI.)


27
Eu tentei, TMTOWTDImas apenas parece me deixar no modo de inserção sem excluir nada?
— Php demais)

12
O TMTOWTDI não é uma das mais de uma maneira de fazê-lo.
— 22410 Sarah

3
tmtowtdi Há mais de uma maneira de fazer isso (TMTOWTDI ou TIMTOWTDI, pronunciado "Tim Toady") é um lema do Perl.
— vaichidrewar

@toomuchphp O comentário foi fantástico. Mas o nome de usuário ... que o tornou perfeito. +1 para você.
— Parthian Shot

38
kdgg

exclua todas as linhas acima da atual.


5
Isto é um pouco confuso; na verdade, ele está movendo o cursor para cima de uma linha ke excluindo a linha atual e para cima dgg.
— precisa saber é o seguinte

2
E uso 5kdgg para excluir todas as linhas 5 linhas acima da atual;)
— van den Akker Stefan

8

d1G = excluir para o topo, incluindo a linha atual (vi)


6

Fornecendo que você conheça estes comandos vim:

1G -> go to first line in file
G -> go to last line in file

então, o seguinte faz mais sentido, é mais unitário e mais fácil de lembrar do IMHO:

d1G -> delete starting from the line you are on, to the first line of file
dG -> delete starting from the line you are on, to the last line of file

Felicidades.

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.