Se você estiver usando vim
, poderá recuperar alguns ou todos os seus textos excluídos porque o vim armazena as 9 exclusões mais recentes nos registros 1 a 9, que são salvas em um arquivo chamado .viminfo
em seu arquivo. diretório inicial quando você sai do vim
.
Esses registros salvos em ~/.viminfo
são globais, para todos os arquivos que foram editados, NOT um conjunto por arquivo editado. Portanto, se você tiver editado outro arquivo e excluído todas as linhas, parte ou todo o texto excluído terá desaparecido.
Se você ainda não editou e excluiu (muitas) linhas de outros arquivos, há uma boa chance de (algumas) suas linhas excluídas ainda estarem lá.
Você pode verificar se o seu texto ainda está nos registros com o comando :registers
em vim
.
-
execute
vim filename
(onde filename é o nome do arquivo que você acidentalmente removeu) -
Digite
:registers
(ou a forma abreviada, apenas:reg
) e pressione enter . -
Examine a saída para ver se algo está parecido com o seu texto.
por exemplo. no meu sistema, vejo algo como o seguinte em vim
:
:reg
--- Registers ---
"" ^J
"0 ^J
"1 You can check to see if your text is still in those registers with the :registers command in vim.^J
"2 If you haven't edited and deleted lines from other files yet, there's a good chance your deleted lines will still be there.^J^J
"3 If you are using vim, you may be able to recover some or all of your deleted text because vim stores the most recent 9 deletion in registers 1 to 9, which are saved to a file called .viminf
"4 ^J
...
...
...
Nota: ""
é o registrador "sem nome" e sempre contém o valor do último yank ou delete, e "0
é o atual registro de yank. Para mais informações, consulte Como uso os registros vim . O Google também me encontrou esta postagem no blog que a descreve bem.
Há também a ajuda integrada com :help registers
e, claro, link , link e link para mais informações gerais vim
.
-
Se você vir alguns dos textos deletados em um registrador, então digite ", seguido pelo número do registrador, e então p para colar no registrador atual. buffer na localização atual.
por exemplo. Se eu quisesse restaurar os registros 1 e 2 acima, eu digitaria:
" 1 p " 2 p
e esses registros seriam colados no meu buffer de edição atual.
NOTA: assim que você digitar qualquer coisa, como "
para começar a colar um registro, a exibição :registers
desaparecerá. Então, anote os registros que deseja restaurar ou digite :registers
sempre que precisar se lembrar.