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.