O Zsh gera um CR automaticamente antes do prompt para que o prompt possa ser iniciado em um local conhecido. Note que se você usasse um shell diferente de zsh, você obteria:
$ cat file
12345678$ _ <-- your prompt after the file contents
Aqui está uma entrada de perguntas frequentes sobre o problema: link
Os arquivos de texto devem terminar com uma nova linha por este e outros motivos - é incomum encontrar uma ferramenta para criá-los que não inclua um (exceto em um ambiente multi-plataforma - o bloco de notas do Windows não terminará arquivos uma nova linha por exemplo)
Se você puder tolerar uma linha extra em branco após a saída da maioria dos comandos (como no Windows) antes do prompt, tente adicionar uma nova linha no início do seu prompt:
export PS1="
%{$fg[white]%}%n%{$reset_color%} @ %{$fg[green]%}%m: %{$fg[yellow]%}%~ %{$reset_color%}%%
> "
E (talvez, pode até funcionar mesmo com isso ativado) desabilite a opção shell do prompt_cr. Você também pode tentar a opção "linha de espaços" do e-mail vinculado.