O que é um arquivo .un ~ ou por que o Vim no Terminal cria o arquivo .un ~?


93

Reparei que tenho alguns dotfiles que terminam com .un~, por exemplo, tenho um .vividchalk.vim.un~, mas não tenho a certeza de onde veio. Parece que eles são criados quando uso o Vim no Terminal. O que são esses arquivos? Posso fazer com que eles sejam removidos quando eu fechar o arquivo que estou editando?

Respostas:


136

Quando você edita e salva arquivos, o Vim cria um arquivo com o mesmo nome do arquivo original e uma un~extensão no final.

O Vim 7.3 contém um novo recurso de desfazer persistente, ou seja, as informações de desfazer não serão perdidas ao sair do Vim e serão armazenadas em um arquivo que termina com .un~. Você definiu a undofileopção, então o Vim cria um arquivo desfazer ao salvar o arquivo original. Você pode impedir que o Vim crie o arquivo de backup, limpando a opção:

:set noundofile

Observe que, por padrão, essa opção está desativada. Você ativou explicitamente a undofileopção em um dos arquivos de inicialização. Se você deseja que seus undofiles sejam armazenados apenas em um diretório específico, você pode apontar a undodiropção para um diretório que conterá todos os seus undofiles agregados.

Fonte: http://vimhelp.appspot.com/vim_faq.txt.html#faq-7.2


4
Obrigado! Eu sou novo no Vim e estou tentando entender e configurar sem monitoramento de carga. Eu vejo agora que a configuração está vindo vim-sensible. Ler o ReadMe no vim-sensible é muito útil. E eu aprendi (a partir de um screencast de peepcode) que posso fazer :verbose set undofile?e ver onde essa opção está definida. Acho que tenho esse direito.
kaplan

1
Tenho o Vim 7.3 e o desfazer persistente não está funcionando para mim (preciso set undofilefazer o desfazer persistente). Outras configurações interferem no novo recurso, por exemplo, nobackupou noswapfile?
Dennis

Acho que o instalador cream non-cream-vim também define isso ativado por padrão.
Josiah Yoder

1
Oh cara!! agora tenho que lembrar: set nobackup set noswapfile set noundofileem todo _vimrc se eu não quiser pegadas de cachorrinhos ?? !! Você pensaria que UM desses poderia estar desligado ou algo assim ...
ebyrob

12
Parece que o vim 8 (pelo menos 8.0.427) tem esse recurso ativado por padrão. YMMV, é claro ...
Chuck Wolber

3

Demorei um pouco para descobrir onde realmente colocar o :set noundofilecomando. Sou novo e só responderei dizendo que não fiz backups.

  1. Abra o vim.
  2. Digite no modo de comando :e $HOME/.vimrc
  3. Escrever :set noundofile
  4. Salvar e sair: :wq

Funciona para o meu caso de uso, que é um pouco diferente: usar o Vim dentro do ConEmu no Windows. Obrigado!
Mário Meyrelles

Eu tenho undofiles por padrão no instalador do vim windows. Seu guia me ajudou, obrigado!
Cardin
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.