Como posso remover o ^ M do meu arquivo no texto sublime 3?

7

Quando eu faço um diff de git em meu branch, vejo que os finais de linha têm os caracteres ^ M:

Eu quero substituí-los por finais de linha do Unix antes de confirmar minhas alterações.

Estou usando o Ubuntu 14.04, git e sublime text 3.

Obrigado pela sua ajuda.

EDITAR:

Eu estou procurando uma maneira de alterar os finais de linha em texto sublime 3 sem usar outros utilitários ou comandos.

    
por Achraf JEDAY 09.06.2017 / 14:13

5 respostas

2

Eu encontrei um plugin de texto sublime que converte os finais de linha em todos os arquivos abertos para Unix / Windows / Mac OS 9. p>

Instalação

  1. Abra o Sublime e vá para Preferências > Navegue pelos pacotes. Isso vai abrir uma janela.
  2. Faça o download ou clone o conteúdo deste repositório em uma pasta chamada exatamente como o nome do pacote na pasta Packages / Packages que você abriu na etapa anterior:

/home/YOUR_USERNAME/.config/sublime-text-3/Packages

Uso

  1. Volte ao sublime e abra todos os arquivos que você deseja converter.
  2. Quando todos os arquivos estiverem abertos, pressione CTRL + SHIFT + P e pesquise selecione “Line Ending to all view: Unix”.
  3. Pressione CTRL + ALT + S para salvar todos os arquivos abertos.
por 09.06.2017 / 16:01
5

^M é \r (Control-M ou retorno de carro).

Isso é provável porque o usuário que cometeu o arquivo estava usando o windows, que usa \r\n para seus finais de linha. O Linux usa apenas \n , portanto você vê o ^M no final da linha.

Você provavelmente deseja seguir um destes procedimentos:

  • 'Corrigir' o arquivo para ter \n finais de linha (usando uma ferramenta como dos2unix ) e confirmar. Nesse caso, você estará lutando com o outro usuário, a menos que você possa fazê-lo abaixo.
  • Configure ambas as instalações do git para lidar corretamente com finais de linha para cada ambiente, por exemplo: link
  • Configure o Sublime para abrir o arquivo com ' terminações de linha do Windows '
por 09.06.2017 / 14:30
4

Você pode usar o comando dos2unix no linux (pacote dos2unix) ou alterar os términos de linha no Sublime Text no item de menu View / Line Endings .

    
por 09.06.2017 / 14:36
3

Isso pode ser feito sem um plug-in através do menu na parte superior ou da barra de status (mas é necessário ativar o recurso).

Para alterá-lo através do menu, na parte superior, clique em Visualizar - > Terminações de linha - > Selecione o tipo de final de linha desejado.

Para habilitar isso através da barra de status: Clique em Preferências - > Definições Em seguida, adicione "show_line_endings": true, em algum lugar entre os colchetes {} no lado direito. Por fim, salve suas alterações.

Isso habilita uma pequena seção à direita da barra de status que aparece na parte inferior. Ele informa a codificação EOL atual e, ao clicar na caixa e selecionar um tipo diferente, ela altera o caractere EOL do arquivo para você.

Outra opção útil é a codificação de arquivos, que pode ser ativada na barra de status, seguindo as mesmas configurações acima, mas também adicionando "show_encoding": true, entre as marcas {} .

    
por 30.06.2017 / 07:25
1

Para quem não deseja instalar um plug-in adicional para remover ^ M novas linhas,

  1. Na configuração de texto sublime, adicione "trim_trailing_white_space_on_save": true, para remover automaticamente o espaço ao salvar. (Esta etapa pode ser opcional)

  2. No arquivo que você está abrindo, clique no canto inferior direito do texto sublime. Altere Windows para Unix e salve.

  • ^ M se foi. Aproveite.
  • por 10.10.2018 / 22:28