Que signifie l'indicateur noeol au bas d'une session d'édition vim?


Réponses:


35

Les éditeurs Unix aiment viet vimvont 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.


Dans 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.
Yeow_Meng

1
Et certains services gémissent et se plaignent et ne démarrent pas en raison d'erreurs dues à l'absence d'EOL à EOF
ivanivan

20

Que la dernière ligne du fichier n'a pas de nouvelle ligne (\ n)


2
@Bon Ami: Certains programmes, lors de la lecture de votre fichier texte, ont besoin \nde 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 wcne 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 ..
Peter.O

2

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


-4

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.


2
Je suis à peu près sûr que ce n'est pas ce que signifie ce drapeau ...
mercredi,
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.