Usando o vim, recebo uma mensagem dizendo "Trocar arquivo xxx já existe" ao editar uma configuração do apache. No entanto, não o vejo no diretório de trabalho em tmp. Como faço para excluir isso?
Os arquivos de troca do Vim normalmente estão ocultos (os arquivos ocultos do Unix começam com a .
). Para visualizar arquivos ocultos e arquivos regulares, é necessário ls -A
(mnemônico: A para todos). Isso deve mostrar se um arquivo de troca está lá ou não.
Isso acontece apenas quando o arquivo que você estava tentando editar não é salvo completamente no disco. Os cenários são:
Você encerra o sistema incorretamente quando um arquivo ainda está aberto no vi / vim.
quando seu arquivo está sendo acessado simultaneamente por diferentes / mesmos consoles no vi.
O vi / vim cria um arquivo .swp sempre que um arquivo é aberto no vi / vim. Sempre que um arquivo é aberto no vi / vim, o vi / vim verifica esse arquivo e, se encontrado, esse aviso aparece
Isso pode ser evitado de duas maneiras
"caminho / do / arquivo / você / você / estava / editando / .seu_nome_do_arquivo.swp"
Estou apenas falando sobre o primeiro cenário e é seguro apenas para esse cenário. O segundo cenário é o caso diferente.
vi -r
(ouvim -r
se preferir). Normalmente, escrevo o arquivo recuperado em um arquivo temporário ediff
no arquivo principal. (Eu não confiava a recuperação não à informação perder.)Se o arquivo que você está editando for chamado
httpd.conf
, o arquivo de troca será chamado.httpd.conf.swp
. Ele fica oculto, a menos que você adicione-a
aos seusls
argumentos.fonte
Para remover o arquivo de troca no Linux, use este comando
fonte
Na mensagem, você deve ver o caminho completo para o arquivo. Você pode removê-lo, colando o caminho da seguinte maneira:
fonte