Geralmente, @
representa um link simbólico. Há certos indicadores de formato relativamente padrão, frequentemente anexados a um nome de arquivo, quando exibidos em uma lista de arquivos, para permitir que você tenha uma ideia do que é; Não tenho certeza se eles foram originados com ls
, mas ls -F
tem uma boa lista deles: /
é um diretório, @
é um link simbólico (o que significa que o arquivo está realmente apontando para um arquivo em outro lugar) e |
, >
e =
são "arquivos" especiais diferentes usados para comunicação entre processos. Além disso, arquivos com o bit de execução geralmente são exibidos com um *
.
Estes não são realmente parte do nome do arquivo; eles são exibidos para o usuário para que eles categorizem rapidamente o arquivo como um arquivo normal, um programa, um diretório, um link simbólico ou qualquer outra coisa.
Nesse caso, olhando pelo script de instalação do yadr, parece que ele coloca todos os arquivos de configuração em arquivos não ocultos no diretório .yadr
, presumivelmente para facilitar o gerenciamento deles. Como nada mais está procurando por dotfiles, então, por padrão, ele cria links simbólicos de seu diretório pessoal para o diretório em que está instalado (veja a linha 301 em Rakefile
; file_operation
normalmente links simbólicos ~/.file
to $PWD/file
). Em install.sh
, podemos ver que yadr normalmente executa seu rakefile em ~/.yadr
, então uma instalação padrão substituirá muitos dotfiles por links simbólicos em ~/.yadr
. Na linha 24 do rakefile, vemos que é isso que está acontecendo: file_operation
é chamado de vim
e vimrc
, significando que ~/.vim
e ~/.vimrc
são ligados simbolicamente a ~/.yadr/vim
e ~/.yadr/vimrc
, respectivamente. O ~/.vimrc
anterior foi movido para ~/.vimrc.backup
.
Então, o que aconteceu aqui é que a instalação do yadr moveu seu .vimrc
para .vimrc.backup
e o substituiu por um link para seu próprio arquivo, localizado em ~/.yadr
. Quando você excluiu ~/.yadr
, o link agora aponta dentro de um diretório inexistente; O vim pode criar um arquivo quando ele não existe, mas não pode salvar em um diretório inexistente . Para editar .vimrc
, você terá que excluir o symlink atual e começar do backup criado automaticamente (se existir) ou do zero (se não existir).