Vi no Linux: mostra ^ M finais de linha para arquivos no formato DOS

9

No Solaris, se você abrir um arquivo no vi com terminações de linha do Windows, isso será exibido como ^ M no final de cada linha.

No Linux, o vi é mais inteligente e entende o formato de arquivo do Windows e não exibe ^ M.

Existe uma configuração para fazer o Linux vi se comportar da mesma forma que o Solaris a esse respeito?

Um problema comum para nós é copiar um shell script de uma caixa dev (Windows) e esquecer do dos2unix e ficar confuso quando ele não funcionar corretamente. No Solaris, o problema é óbvio assim que você vi o arquivo, mas não no Linux.

Obrigado.

    
por sss 15.11.2011 / 19:37

2 respostas

9

Tente :set ffs=unix ao iniciar o vi (ou definido como padrão no vimrc), que deve exibir todos os caracteres CR como ^M .

vi adivinhar automaticamente qual formato usar com base no fato de encontrar ou não linhas que terminam em apenas LF ou ambos CR / LF.

    
por 15.11.2011 / 19:52
2

Para mostrar os finais de linha do arquivo atual:

:e +ff=unix

Isso força o formato de arquivo ao unix, que renderizará CR como ^M

Para tornar esta configuração permanente, adicione a ~/.vimrc :

set ffs=unix

Observe que a configuração .vimrc é ffs , não ff .

    
por 05.06.2018 / 10:24

Tags