Mensagem de erro do arquivo de troca ao tentar editar o arquivo .vimrc?

5

Toda vez que tento abrir o arquivo .vimrc estou recebendo esta mensagem .Estou usando o vimtutor em outro terminal, mas acho que não abri nenhum arquivo extra. vimrc . Por que vejo esse erro e como posso corrigir isso?

E325: ATTENTION
Found a swap file by the name ".vimrc.swp"
          owned by: subhrcho   dated: Wed Dec 26 05:54:45 2012
         file name: ~subhrcho/.vimrc
          modified: YES
         user name: subhrcho   host name: slc04lyo
        process ID: 26176
While opening file ".vimrc"
             dated: Mon Jan 28 22:45:16 2013
      NEWER than swap file!

(1) Another program may be editing the same file.
    If this is the case, be careful not to end up with two
    different instances of the same file when making changes.
    Quit, or continue with caution.

(2) An edit session for this file crashed.
    If this is the case, use ":recover" or "vim -r .vimrc"
    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file ".vimrc.swp"
    to avoid this message.

Swap file ".vimrc.swp" already exists!
    
por Geek 29.01.2013 / 12:46

3 respostas

8

O arquivo de troca tem um mês de idade (26 de dezembro), então é melhor salvá-lo para excluí-lo. Nesse dia, você provavelmente matou uma instância do Vim (ou caiu), deixando para trás o arquivo de troca. O Vim nunca irá limpá-los sozinho, você terá que deletá-lo você mesmo (ou escolha a opção delete quando o Vim lhe perguntar).

BTW, o plugin recover.vim - Mostrar diferenças para arquivos recuperados aumenta muito a troca experiência de arquivo, por exemplo oferecendo para mostrar um diff das mudanças.

    
por 29.01.2013 / 13:09
4

vi usa um arquivo de permuta para manter uma cópia das suas edições até você salvá-las ou descartá-las.

Você vê este erro porque:

  • Você está editando .vimrc duas vezes (improvável, já que você está usando apenas vimtutor ).

  • vi foi eliminado enquanto .vimrc estava sendo editado.

No último caso, vi não pôde limpar o arquivo de permuta .vimrc.swp , então ele pergunta se você deseja recuperar as alterações ou descartá-las:

(2) An edit session for this file crashed.
    If this is the case, use ":recover" or "vim -r .vimrc"
    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file ".vimrc.swp"
    to avoid this message.

Se você não fez nenhuma alteração em .vimrc (por exemplo, usou vi para abrir o arquivo - no futuro use less ), simplesmente exclua o arquivo:

$ rm .vimrc.swp

Se você fez alterações no arquivo, abra-o com vi e pressione R . Você pode receber o erro E309 :

E309: Unable to read block 1 from .vimrc.swp

Nesse caso, exclua o arquivo de troca conforme explicado acima. Se você pudesse abrir o arquivo, digite:

:recover

Revise o arquivo e salve-o com:

:x

Em seguida, exclua o arquivo de troca para se livrar da mensagem.

    
por 29.01.2013 / 13:05
0

Isso acontece se, por exemplo, você desligar o computador enquanto o vim ainda estiver em execução. É seguro excluir o arquivo .vimrc.swp manualmente ou pressionar 'd' no vim quando solicitado, após o erro que você colou.

    
por 29.01.2013 / 13:05

Tags