У меня недостаточно очков, чтобы комментировать, но я хотел сказать кое-что о заявлении @Justin Smith, что «[vim будет идти] настолько далеко, чтобы добавить один [newline] независимо от того, положите ли вы его туда или нет , ".
Я только что проверил vim в моем Arch VirtualBox, и, хотя он есть, vim не показывает пустой символ новой строки . Если вы откроете файл, сохраненный с помощью vim в nano, nano покажет, что в конце есть пустой символ новой строки . Поэтому я решил посмотреть, что произойдет , если я вручную создам новую строку с помощью vim, и nano показал, что есть 2 новые строки .
Для меня это имеет смысл, потому что это похоже на закрытие строки до окончания файла , как закрытие всех ваших тегов в HTML.