vim có chế độ "eol" (cho dòng cuối) để cho biết phải làm gì nếu dòng cuối cùng trong tệp thiếu ký tự dòng mới . Bạn có thể thấy tất cả các cài đặt chế độ trong vim (hoặc bất kỳ chương trình nào như vi) bằng cách
:set all
POSIX vi không có tính năng này: các tệp có độ dài bằng 0 hoặc có dòng mới. Đó là bởi vì POSIX vi chỉ xử lý các tệp văn bản, theo định nghĩa là các dòng kết thúc bằng dòng mới. Trong một kiểm tra nhanh, nvi và elvis không có chế độ cho việc này. Trong nhận xét của tôi, tôi đã quên một chi tiết của vim: không giống như vile, một "danh sách tập hợp" không dễ dàng hiển thị dòng mới bị thiếu. Đây là những gì tôi thấy trong vim:
ssss$
test$
~
~
trong khi hèn hạ:
ssss^J
test
~
~
Đối với trình chỉnh sửa, bạn có thể đọc tệp trong, thay đổi chế độ , ví dụ:
:set noeol
và viết tệp ra, để có một dòng mới trên tệp đã cập nhật. Thay vì hiển thị trực tiếp, bạn có thể sửa đổi dòng trạng thái của vim để hiển thị thông tin này. Theo mặc định, nó dường như không làm điều này, nhưng một số trình đóng gói đã tùy chỉnh điều này, ví dụ:
"foo" [noeol] 2L, 9C 1,1 All
Một trong những ý kiến gợi ý sử dụng dấu "?" bổ nghĩa của set
lệnh, vd
:set eol?
có thể hiển thị một cái gì đó như thế này:
noendofline 2,1 All
nhưng trong chế độ chèn, điều đó được thay thế bằng
-- INSERT -- 2,1 All
vì vậy dòng trạng thái có vẻ là nơi thích hợp để duy trì thông tin này.
Các tính năng đã có một thời gian:
Các eol
tính năng đầu tiên xuất hiện trong vim 2.4 (tháng 7 năm 1994), theo một lời nhận xét trong mã nguồn của nó.
newline
Chế độ của vile xuất hiện vào tháng 7 năm 1993 .
( nvi, elvis, vim và vile đều xử lý các tệp nhị phân ngoài các tệp văn bản của POSIX vi ).