Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Algo curioso com o comando "dd"

Não sei se é por conta da versão do linux (utilizo o mint 19.1, cinnamon), ou se teve alguma alteração no comando. Mas percebi que o comando "dd", pelo menos aqui, está recortando a linha ao invés de excluir ela. Isso altera um pouco a forma de pensar pois se caso a pessoa copie 3 linhas, e então utilize o comando "dd" para excluir outras 3 linhas diferentes para poder colar aquelas primeiras 3 linhas copiadas, vai ocorrer que quando utilizar o comando "p" ela estará colando as 3 linhas que retirou com o "dd" (e não aquelas copiadas). É isso mesmo?

3 respostas

Olá Guilherme, tudo certo?

Procurei tanto na documentação do VI, quanto na documentação do VIM e o comando dd em ambos tem a mesma função, que é de deletar linha.

Esse problema pode ser de versão ou mesmo alguma versão modificada que a distro tem.

Tente instalar o VIM pelo comando sudo apt-get install vim ou mesmo atualizar os pacotes. Pode ser que ajude.

Bons estudos!

Olá Guilherme,

Após ver a resposta do Fabiano fiquei curioso. Sempre usei o comando dd para recortar linhas. Como estou em casa, estudando a partir de MacOS, resolvi testar esse comportamento, o resultado é que o dd recortou a linha, ficando disponível para colar.

[]

solução

Na documentação você encontra a explicação. A linha deletada, ao utilizar 'dd', é salva no registrador desejado. Se você não passar nenhum registrador, o vim salva no registrador sem nome.

O comando 'p' cola a partir do registrador desejado. E adivinha de qual registrador ele cola se você não passar um... Isso mesmo, do registrador sem nome.

["x]d{motion}          Delete text that {motion} moves over [into register
                        x].  See below for exceptions.

                                                        dd
["x]dd                  Delete [count] lines [into register x] linewise.


["x]p                   Put the text [from register x] after the cursor
            [count] times.  {Vi: no count}

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software