Vim ajoute toujours une nouvelle ligne à la fin de mes fichiers lors de l'enregistrement, et cela provoque des erreurs dans mes scripts PHP.
Comment puis-je faire en sorte que vim n'ajoute pas cette nouvelle ligne lors de la sauvegarde?
Vim ajoute toujours une nouvelle ligne à la fin de mes fichiers lors de l'enregistrement, et cela provoque des erreurs dans mes scripts PHP.
Comment puis-je faire en sorte que vim n'ajoute pas cette nouvelle ligne lors de la sauvegarde?
Réponses:
Ce n'est pas une ligne vide complète, juste une nouvelle ligne finale à la fin de la dernière ligne. Les outils Unix (comme l'héritage de Vim) insistent pour ajouter cela, alors que le système d'exploitation Windows n'est pas si strict. Vous pouvez en savoir plus à ce sujet sur Pourquoi les fichiers devraient-ils se terminer par une nouvelle ligne?
Malheureusement, il est assez complexe d'empêcher Vim d'écrire la nouvelle ligne finale. Mon plugin PreserveNoEOL peut le faire. Pour une discussion sur les approches, voir également VIM Désactiver la nouvelle ligne automatique à la fin du fichier .
Dans les nouvelles versions de Vim, il y a enfin une option pour cela
Vim 7.4.785 ajoute l'option 'fixeol' qui peut être désactivée pour conserver automatiquement tout EOL manquant à la fin du fichier.
(voir la page wiki: http://vim.wikia.com/wiki/Do_not_auto-add_a_newline_at_EOF )
Dans votre ~/.vimrc
ajouter cette ligne:
set nofixeol
Relancez vim
, maintenant il ne devrait pas ajouter la nouvelle ligne à la fin du fichier.
(fonctionne uniquement depuis la version 7.4.785 de vim)
?>
sortie de PHP vers le navigateur (provoquant l'erreur "en-têtes déjà envoyés")? Vous n'avez pas besoin d'un suivi?>
, et il est généralement recommandé de le laisser pour éviter exactement ce problème.