Question

Lorsque j'ouvre un fichier texte dans le Bloc-notes, il affiche une ligne vide s'il existe un retour chariot à la fin de la dernière ligne contenant du texte. Cependant, dans Vim, cette ligne vide n’est pas affichée. Une autre chose que j'ai remarquée est que l'éditeur Vim ajoute un retour chariot à la dernière ligne par défaut (même s'il ne l'affiche pas). Je peux le dire, car si j’ouvre un fichier créé dans Vim dans le Bloc-notes, il affiche une ligne vierge à la fin du fichier.

Quoi qu'il en soit, je peux vivre avec ces deux différences, mais je me demande s’il existe une option dans Vim qui vous permet d’activer ce comportement.

Merci

PS - GVim 7.2

[Mise à jour]

Cela aurait-il du sens d'être à la place sur Server Fault?

[Mise à jour 2]

Je vais reformuler ceci ... J'ai besoin de savoir quand il y a un retour chariot à la fin d'un fichier simple ligne (Le Bloc-notes affiche une ligne supplémentaire sans texte, avec Vim, je ne le sais pas). Cela est dû à un programme Progress qui lit un fichier texte (attend une seule ligne, mais avec un retour à la ligne) et analyse le texte à certaines fins. S'il n'y a pas de retour chariot, Progress traite la ligne comme si elle était nulle.

[Solution de contournement] Un moyen que j’ai trouvé pour s’assurer qu’il existe un retour chariot (mais assurez-vous de ne pas en ajouter un second) est de vous assurer que l’option d’écriture de fin de ligne est activée (: set eol) et que écrire / sauvegarder. Cela mettra une fin de ligne dans le fichier si ce n'est déjà fait. Sinon, il n'en ajoute pas un nouveau.

Était-ce utile?

La solution

:help endofline

explique comment vous pouvez empêcher vim d'ajouter une nouvelle ligne.

Autres conseils

Il semble que vim considère newline comme un terminateur de ligne, alors que le bloc-notes le traite comme un séparateur de ligne: from http://fr.wikipedia.org/wiki/Newline

  

Il existe également une certaine confusion quant à savoir si   les nouvelles lignes se terminent ou séparent des lignes.   Si une nouvelle ligne est considérée comme une   séparateur, il n'y aura pas de nouvelle ligne   après la dernière ligne d'un fichier. le   convention générale sur la plupart des systèmes est   ajouter une nouvelle ligne même après la dernière   ligne, c’est-à-dire traiter newline comme une ligne   terminateur. Certains programmes ont   problèmes de traitement de la dernière ligne d'un   file si ce n'est pas newline terminé.   Inversement, les programmes qui attendent   newline à utiliser comme séparateur   interpréter une nouvelle ligne comme débutant   une nouvelle ligne (vide). Cela peut entraîner   nombre de lignes différent signalé   pour le fichier, mais est autrement   généralement inoffensif.

Si je me souviens bien, sur les systèmes unix-y, un fichier texte doit être terminé par une nouvelle ligne.

Une option utile de Vim est

set list

Cela vous aidera à voir tous les caractères de fin de ligne (et éventuellement d’autres caractères généralement invisibles). Vous pourrez donc visualiser cette dernière ligne de fin directement dans Vim et pas seulement dans le Bloc-notes.

Lorsque vous ouvrez le fichier dans VIM, la ligne d'état doit indiquer [noeol] après le nom du fichier. Donc, c'est une indication. Comme Manni a été dit, vous pouvez changer cela en désactivant l'option endofline et le paramètre option binaire sur. Vous pouvez définir ceci comme paramètres par défaut dans un fichier .vimrc .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top