Temel bilgi
Vim arabellekte en son yeni satırı göstermez ancak aslında vim, yazarken EOL'yi her zaman dosyanın sonuna yerleştirir, çünkü Unix sistemlerindeki metin dosyaları için standarttır. Bununla ilgili daha fazla bilgiyi burada bulabilirsiniz . Kısacası vim'de dosyanın sonunda yeni satırların olmaması konusunda endişelenmenize gerek yok.
Deney 1
Bu davranışı denetlemek için bu küçük denemeyi yapabilirsiniz. Terminalde:
$ vim test_test
Karakteri girin 1ve dosyayı kaydedin :wq.
Dosyada sadece bir karakter var, değil mi? Aslında hayır :) Artık dosya 1ve LFkarakterleriniz var. Hexdump yardımcı programı ile kontrol edelim:
$ hexdump test_test
0000000 31 0a
0000002
31karakter için ASCII kodudur 1ve 0ayazdırılmamış LFkarakter için ASCII kodudur ve UNIX için satır sonu kodunu zaten biliyor olabilirsiniz.
Deney 2
Ama ya dosyanın eolsonunda sembolü olmayan bir dosyayı açacak olursak . Bunu da kontrol edelim. Sonunda eol olmadan dosya oluşturalım, örneğin:
$ echo -n "1" > test_without_eol
Sonra tekrar içine hexdump ile bakalım:
$ hexdump test_without_eol
000000 31
0000001
Yani burada hiç eolkarakter yok. Bu dosyayı vim'de açalım:
$ vim test_without_eol
Editörün altında şunları göreceksiniz:
"test_without_eol" [noeol] 1L, 1C
Ve eğer bu dosyayı kaydederseniz, eolkarakter otomatik olarak konacaktır.
Bu konuda ne yapabiliriz?
Gerçekten dosyanın sonunu görmeniz gerekiyorsa. Bu komutu kullanmayı deneyin:
:set listchars=eol:$
tüm eolkarakterleri $işaret olarak gösterecektir .