J'ai ouvert un fichier avec vim
Ubuntu, et ce qui suit est affiché en bas de l'écran:
"file.py" [noeol] 553L, 16620C
Qu'est-ce qui noeol
indique?
J'ai ouvert un fichier avec vim
Ubuntu, et ce qui suit est affiché en bas de l'écran:
"file.py" [noeol] 553L, 16620C
Qu'est-ce qui noeol
indique?
Réponses:
Les éditeurs Unix aiment vi
et vim
vont toujours mettre les nouvelles lignes ( \n
) à la fin de chaque ligne - en particulier la dernière ligne. S'il n'y a pas de fin de ligne ( eol
) sur la dernière ligne, il s'agit d'une situation inhabituelle et le fichier n'a certainement pas été créé par un éditeur UNIX standard.
Cette situation inhabituelle vous est signalée par le [noeol]
drapeau dans l' vim
éditeur. d'autres éditeurs ont probablement des drapeaux et des notifications similaires.
emacs
, déplacez le curseur à la fin du fichier (dernière ligne, après le dernier caractère) et exécutez kill-line
, vous finissez par supprimer le fichier eol
.
Que la dernière ligne du fichier n'a pas de nouvelle ligne (\ n)
\n
de la fin de la ligne pour le considérer comme une ligne terminée (avec un caractère de fin de nouvelle ligne). L'exemple suivant montre un fichier qui peut ressembler à une complète ligne à un coup d' oeil occasionnel dans un éditeur de texte, mais wc
ne pas condider comme une ligne: printf "x">"file-no-newline"; wc -l <"file-no-newline"
- Outpute est: 0
.. le noeol est juste une aide visuelle pour vous laisser savoir la statut ..
Cela signifie que le système d'exploitation sur lequel vous visualisez le fichier n'est pas en mesure de détecter la fin de la ligne du fichier (si le fichier en contient). Parfois, cela se produit lorsque vous déplacez un ou plusieurs fichiers d’un système à l’autre (par exemple, de MS à * nix os)
Dans vim, si le fichier a un retour chariot Windows " ^M"
, vous pouvez le corriger avec la commande suivante: in vim do:
:%s/^M/\r/g
sens:
% => select the whole buffer
s => Search
/^M/ => find Windows Carrage return.
/\r/ => Replae it with *nix carrage return
Remarque: sous Mac OX, ^M is ctl+v && ctrl+m
Son 'NO EOL' - pas d' indicateur de fin de ligne . Très utile si vous ouvrez un fichier très volumineux (> 1 Go). Vim essaie de tirer tout ça en 1 ligne. Cet indicateur m'aide à fermer rapidement le fichier avant de vider mon système d'exploitation.