A resposta curta é abrir o arquivo no Vim e digitar " :set fileformat=unix
", depois escrever o arquivo. Daquele ponto em diante, o Vim deve tratar o arquivo como formato de arquivo Unix e usar apenas caracteres de nova linha em vez de carriage-return + newline.
A resposta longa é que isso às vezes não funciona, porque quando você abre o arquivo no Vim você vê os caracteres ^ M reais no final da maioria das linhas. Nesse caso, pode ser por dois motivos:
- O mais provável é que ele tenha sido salvo originalmente como formato de arquivo do DOS, depois "danificado" por outro editor que assumiu que poderia tratá-lo como formato Unix sem conversão e deixou algumas linhas sem terminações de linha do DOS. Nesse caso, você deve apenas fazer algo como
:%s/\%x0d$//g
e depois escrever. - O arquivo é um formato de arquivo adequado do DOS, mas o Vim não está reconhecendo esse fato. Isso provavelmente significa que a opção 'fileformats' não está configurada corretamente. Para saber mais sobre isso, consulte "
:help 'fileformats'
" (as aspas simples fazem parte do comando help).
Finalmente, se você estiver usando o Vim em uma máquina Windows, talvez seja necessário alterar a opção 'fileformats' mencionada para "unix, dos" no seu ~/_vimrc
em vez do padrão "dos, unix" definido para em ambientes DOS / Windows. Isso fará com que o Vim crie novos buffers no formato Unix em vez do formato DOS. (Mais uma vez, consulte a ajuda para detalhes.)