Vim – ocultando retornos de carro (^ M)

Às vezes, você acaba editando arquivos com finais de linha mistos.

Você gostaria de ter menos distração visual removendo as ^Mtelas do Vim.

Mesmo assim, você não deseja converter o arquivo inteiro em LF ou CRLF (por vários motivos, como não criar diferenças sem sentido no SCM).

Basta adicionar o seguinte snippet ao seu .vimrc:

for i in ['cterm', 'gui']
for j in ['fg', 'bg']
let c = synIDattr(hlID('Normal'), 'bg', i)
if (!empty(c))
exec 'highlight CarriageReturn ' . i . j . '=' . c
endif

endfor

endfor

if hlID('CarriageReturn')
match
CarriageReturn /r$/
endif

Não é o ideal, mas é melhor do que nada.