"está causando erros nos meus scripts PHP" -> Isso é estranho? O PHP deve funcionar bem com uma nova linha à direita. De fato, isso é praticamente padrão. Talvez você tenha uma linha em branco após a ?>saída do PHP para o navegador (causando o erro "cabeçalhos já enviados")? Você não precisa de uma trilha ?>, e geralmente é recomendável deixá-la de fora para evitar exatamente esse problema.
Martin Tournoij
Eu acho que isso é enganoso. Nossos scripts interpretam qualquer saída como um erro.
Esta não é uma linha vazia completa, apenas uma nova linha final no final da última linha. As ferramentas Unix (como a herança do Vim) insistem em adicionar isso, enquanto o sistema operacional Windows não é tão rigoroso. Você pode ler mais sobre isso em Por que os arquivos devem terminar com uma nova linha?
?>
saída do PHP para o navegador (causando o erro "cabeçalhos já enviados")? Você não precisa de uma trilha?>
, e geralmente é recomendável deixá-la de fora para evitar exatamente esse problema.Respostas:
Esta não é uma linha vazia completa, apenas uma nova linha final no final da última linha. As ferramentas Unix (como a herança do Vim) insistem em adicionar isso, enquanto o sistema operacional Windows não é tão rigoroso. Você pode ler mais sobre isso em Por que os arquivos devem terminar com uma nova linha?
Infelizmente, é bastante complexo impedir que o Vim escreva a nova linha final. Meu plugin PreserveNoEOL pode fazer isso. Para uma discussão sobre abordagens, consulte também Desativar nova linha automática do VIM no final do arquivo .
fonte
Nas novas versões do Vim, finalmente há uma opção para isso
(consulte a página da wiki: http://vim.wikia.com/wiki/Do_not_auto-add_a_newline_at_EOF )
No seu
~/.vimrc
adicione esta linha:Reinicie
vim
, agora não deve adicionar a nova linha no final do arquivo.(funciona apenas desde a versão vim 7.4.785)
fonte
Você já tentou abrir o arquivo no modo binário? Tente
vim -b file_name
. Não deve adicionar a nova linha no final do arquivo.fonte
xxd
para verificar, mas ele ainda adiciona um avanço de linha (0a
) mesmo no modo binário.