$ é o fim da linha conforme exibido por :set list com o valor padrão da opção listchar . ^I é o caractere de tabulação.
^@ é o caractere null .
Por alguma razão estranha, cada caractere significativo em seu arquivo é prefixado com um caractere null , exceto dígitos e (provavelmente) espaços.
Este não é um problema de Vi (m): verifique a documentação desse método para ver se há uma maneira de produzir seus dados sem esses null s.