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


22

Quando eu faço um diff git no meu branch, vejo que as terminações de linha têm os caracteres ^ M:

^ Extremidades da linha M

Quero substituí-los por terminações de linha Unix antes de confirmar minhas alterações.

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

Obrigado pela ajuda.

EDITAR:

Estou procurando uma maneira de alterar as terminações de linha no texto sublime 3 sem usar outros utilitários ou comandos.

Respostas:


15

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

Para alterá-lo através do menu na parte superior, clique em Exibir -> Finais de linha -> Selecionar o tipo de final de linha desejado.

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

Isso permite 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, ele altera os caracteres EOL dos arquivos para você.

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


Isso funciona especialmente quando você está transferindo arquivos do Windows para um servidor, porque no servidor é mais difícil editar o arquivo. Obrigado
Luis Cabrera Benito

Agora essa deve ser a resposta aceita
lucas

14

Você pode usar o dos2unixcomando no linux (pacote dos2unix) ou alterar o final da linha em Sublime Text no item de menu View / Line Endings .


8

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

Provavelmente, porque o usuário que confirmou o arquivo estava usando o Windows, que é usado \r\npara as terminações de linha. O Linux usa apenas \n, portanto, você vê ^Mo final da linha.

Você provavelmente deseja fazer um dos seguintes:

  • 'Corrija' o arquivo para ter \nfinais de linha (usando uma ferramenta como dos2unix) e confirmar. Nesse caso, você estará brigando com o outro usuário, a menos que você consiga que ele faça o seguinte.
  • Configure ambas as instalações do git para manipular as terminações de linha corretamente para cada ambiente - por exemplo: /programming/10418975/how-to-change-line-ending-settings
  • Configure o Sublime para abrir o arquivo com ' finais de linha do Windows '

3

Encontrei um plugin de texto sublime que converte as terminações de linha em todos os arquivos abertos em Unix / Windows / Mac OS 9.

Instalação

  1. Abra o Sublime e vá para Preferências> Procurar Pacotes. Isso 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 / 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 deseja converter.
  2. Quando todos os arquivos estiverem abertos, pressione CTRL + SHIFT + P e pesquise e selecione “Line Ending to all view: Unix”.
  3. Pressione CTRL + ALT + S para salvar todos os arquivos abertos.

O repositório foi excluído?
AnnanFay 11/04/19

3

Para quem pode não querer instalar 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 espaço automaticamente ao salvar. (Esta etapa pode ser opcional)

  2. No arquivo que você está abrindo, clique no canto inferior direito do texto sublime. Mude Windowspara Unixe salve.

  1. ^ M se foi. Aproveitar.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.