Abri um arquivo usando o vim
Ubuntu e o seguinte é exibido na parte inferior da tela:
"file.py" [noeol] 553L, 16620C
O que noeol
indica?
Abri um arquivo usando o vim
Ubuntu e o seguinte é exibido na parte inferior da tela:
"file.py" [noeol] 553L, 16620C
O que noeol
indica?
Respostas:
Os editores do Unix gostam vi
e vim
sempre colocam novas linhas ( \n
) no final de cada linha - especialmente incluindo a última linha. Se não houver final de linha ( eol
) na última linha, é uma situação incomum e o arquivo certamente não foi criado por um editor UNIX padrão.
Essa situação incomum é notificada pela [noeol]
bandeira no vim
editor; outros editores provavelmente têm sinalizadores e notificações semelhantes.
emacs
mover o cursor para o final do arquivo (última linha, após o último caractere) e executar kill-line
, você na verdade acaba excluindo o arquivo eol
.
Que a última linha do arquivo não possui uma nova linha (\ n)
\n
final da linha para considerá-lo como uma linha completa (com um caractere de nova linha à direita). O exemplo a seguir mostra um arquivo que pode ser parecido com uma completa linha de relance casual em um editor de texto, mas wc
faz não condider-lo como uma linha: printf "x">"file-no-newline"; wc -l <"file-no-newline"
- Outpute é: 0
.. o noeol é apenas uma ajuda visual para que você saiba o status ..
Isso significa que o sistema operacional em que você está visualizando o arquivo não consegue detectar o final da linha do arquivo (se o arquivo tiver algum). Às vezes, isso acontece quando você move arquivos nos sistemas operacionais (i, e .. do MS para * nix os)
No vim, se o arquivo tiver retorno de carro do Windows " ^M"
, você poderá corrigi-lo com o seguinte comando: no vim do:
:%s/^M/\r/g
significado:
% => select the whole buffer
s => Search
/^M/ => find Windows Carrage return.
/\r/ => Replae it with *nix carrage return
Nota: no Mac OX, ^M is ctl+v && ctrl+m
É 'NO EOL' - sem indicador de fim de linha . Muito útil se você acabar abrindo um arquivo muito grande (> 1 GB). Vim tenta puxar tudo isso em 1 linha. Este indicador me ajuda a fechar rapidamente o arquivo antes que ele estrague meu sistema operacional.