Quando estou editando arquivos de origem usando o vim e outros editores, às vezes no final da linha, recebo esses caracteres ^ M no final de cada linha. Eu acho que tem algo a ver com a edição de um arquivo no Windows e depois no Linux. Como posso remover tudo isso automaticamente?
132
^M
s. A única indicação que você tem ao editar um arquivo de texto DOS no Vim é se você possui%{&ff}
ostatusline
valor da opção. O Vim mostra^M
quando o estilo de final de linha é misto . Isso significa que você usou um editor de texto que não é tão experiente quanto o Vim, que não segue o estilo de final de linha existente, como o Vim por padrão. Se você usa o Vim ou qualquer outra coisa de seu calibre no Windows, não terá terminações de linhas destruídas assim.Respostas:
Como um comando, digite
(Para obter ^ M, pressione ^ V ^ M, onde ^ é CTRL na maioria dos teclados)
fonte
:%s/\r$
Uma maneira fácil de eliminar as terminações de linha do DOS é usar a
ff
opção:Agora seu arquivo está de volta à boa e velha maneira Unix.
Se você deseja adicionar as terminações de linha do DOS (para manter uma impressora feliz ou transferir arquivos com os amigos do Windows que não possuem boas ferramentas), você pode ir na direção oposta facilmente:
fonte
git diff
shows todas as linhas excluídas e todas as linhas adicionadas: /diff
, nãogit
.Você consegue fazer isso:
Ele ocultará
^M
os arquivos sem tocar no arquivo.fonte
Existe um programa chamado dos2unix que deve remover esses para você. O Windows usa diferentes caracteres de final de linha, e é por isso que isso acontece.
fonte
Isso funcionou para mim em um arquivo que tinha tudo em uma linha:
Encontre primeiro todos os jogos
(Para obter
^M
, pressione ^ V ^ M, onde ^ está Ctrlna maioria dos teclados)Em seguida, substitua por novas linhas
O comando combinado seria:
fonte
Costumo executar arquivos afetados
fromdos
antes de reabri-los.fromdos
faz parte do pacote tofrodos .fonte
A origem do problema pode ter sido através de uma transferência FTP. Ao enviar esses arquivos por FTP de uma caixa para outra, use transferências ASCII. Use o comando "ASC".
fonte
fonte
mcedit: shift + f2, defina o formato unix (LF), ok
fonte