Lorsque j'ouvre un fichier texte dans le bloc-notes, il affiche une ligne vide s'il y a un retour de chariot à la fin de la dernière ligne contenant du texte. Cependant, dans Vim, cela ne montre pas cette ligne vide. Une autre chose que j'ai remarquée est que l'éditeur VIM ajoute un retour de chariot à la dernière ligne par défaut (même s'il ne le montre pas). Je peux le dire, car si j'ouvre un fichier dans un bloc-notes créé dans Vim, il affiche une ligne vierge à la fin du fichier. P>
Quoi qu'il en soit, je peux vivre avec ces deux différences, mais je me demande s'il y a une option dans Vim qui vous permet de basculer ce comportement. P>
merci p>
PS - GVIM 7.2 P>
Cela donnerait-il un sens à la faute du serveur à la place? P>
Je vais reformuler cela ... Je dois savoir quand il y a un retour de chariot à la fin du fichier de ligne unique (le bloc-notes montre une ligne supplémentaire sans texte, avec Vim je ne peux pas dire). Cela est dû à un programme de progrès qui lit un fichier texte (s'attend à une seule ligne, mais avec un retour de chariot) et analyse le texte à quelque sorte. S'il n'y a pas de retour de chariot, la progression traite la ligne comme si elle est null. P>
4 Réponses :
:help endofline explains how you could stop vim from adding an extra newline.
Résout un problème ... c'est l'autre (ne montrant pas qu'il existe une ligne vierge) qui est la plus grande question pour moi, cependant = \ a à voir avec besoin de vous assurer qu'il y a un retour de chariot à la fin d'une ligne (et seulement un).
Je suis d'accord que je veux la ligne là-bas, je veux aussi aussi pouvoir voir que c'est là.
Une option VIM utile est
set list
Cela semble toujours montrer un caractère $. Même s'il n'y a pas de ligne vide après.
Il n'y a pas de ligne vierge après. Vim considère une ligne quelque chose qui a une nouvelle ligne à sa fin. La ligne vierge dont vous parlez n'a pas de nouvelle ligne, alors Vim conclut qu'il n'y a rien à afficher.
Voir Mettre à jour 2 commentaires ... Reformulez la question à être plus précise.
Je confirme que même si "DIFF" imprime une différence entre ces fichiers, à l'aide de : list code> ces fichiers semblent être identiques.
Lorsque vous ouvrez le fichier dans VIM, la ligne d'état doit indiquer [noeol] code> après le nom de fichier. C'est donc une indication. Comme manni a déclaré, vous pouvez modifier ceci en définissant à la fois l'option
endofline code> OFF et le
Option binaire code> sur. Vous pouvez définir ceci comme paramètres par défaut dans un fichier
.vimrc code>. P>
Il semble que Vim traite la nouvelle ligne en tant que terminateur de ligne, tandis que le bloc-notes le traite en tant que séparateur de ligne: de http://en.wikipedia.org/wiki/newline P>
Il y a aussi une certaine confusion si les nouvelles lignes 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 le dernier ligne, c'est-à-dire de traiter la nouvelle ligne comme une ligne Terminator. Certains programmes ont problèmes de traitement de la dernière ligne d'un Fichier si ce n'est pas une nouvelle ligne terminée. Inversement, des programmes qui attendent nouvelle ligne à utiliser comme séparateur interpréter une nouvelle ligne finale comme départ une nouvelle ligne (vide). Cela peut entraîner Un compte de ligne différent étant signalé pour le fichier, mais est autrement généralement inoffensif. p> blockQuote>
Si je vous rappelle correctement, sur les systèmes UNIX-Y Un fichier texte doit être terminé avec une nouvelle ligne. P>
Cela ne ferait aucun sens sur Serverfault. Peut-être sur superutilisateur. Mais il semble que le consensus soit pour tolérer les questions de Vim ici car Vim est considéré comme une IDE.
Ok merci ... je me demande si superutilisateur est hors de la version bêta privée ... suppose que je peux aller chèque
Il est toujours en version bêta, mais pas en privé, mais en bêta semi-privé: blog.stackoverflow.com/2009/07/...