Faça o VIM agir como o Notepad ++ em finais de linha mistos

0

Eu pesquisei por aí e encontrei muitas soluções estranhas para o problema do ^ M, mas não consegui encontrar nenhuma e simples: como eu poderia abrir qualquer arquivo, como no Notepad ++ e trabalhar nele? Eu não quero mexer com coisas de LF e CR, de qualquer forma o git irá corrigir isso no push. Existe uma solução "estúpida" para esse problema? Uma pequena coisa, sou forçado a trabalhar no World Evil OS agora, então a solução deve funcionar para isso.

    
por J-unior 18.06.2013 / 12:39

3 respostas

1

:set binary

ou

$ vim -b file

Isso deixará todos os finais de linha como estão e as linhas serão separadas por caracteres <NL> únicos. Eu não recomendo usá-lo, mas você pediu explicitamente por uma "solução estúpida".

    
por 18.06.2013 / 12:52
1

Eu aconselho que você corrija seus finais de linha.

Para converter o arquivo em \n finais de linha:

:%s/\r$

Para converter o arquivo em \r\n fins de linha (não testados):

:%s/[^\r]\n/\r\n/

Você pode fazer o vim realizar uma dessas operações automaticamente ao abrir um arquivo:

autocmd BufRead, * normal :%s/\r$

Você também pode usar os utilitários dos2unix e unix2dos .

    
por 18.06.2013 / 12:53
0

Eu mesmo uso o vim no cygwin - e se o arquivo é rotulado corretamente como um dos arquivo, ele não mostra os caracteres ^ M, e eu ainda tenho a linha de informações na parte inferior configurada para me dizer se é um dos ou tipo de arquivo unix. Alguns arquivos podem ter finais de linha do Windows, mas ainda assim aparecerem como unix - se eu executar o dos2unix nesses arquivos, ele será corrigido e o vim rotulará corretamente e ocultará ^ M na próxima vez que eu abrir esse arquivo.

    
por 18.06.2013 / 16:00