vimには、ファイルの最後の行に改行文字がない場合に何をするかを指示するモード "eol"(行末)があります。あなたはvim(またはviのようなプログラム)のすべてのモード設定を見ることができます
:set all
POSIX VIは、ファイルがいずれかの長さがゼロであるか、このための機能を持っていない持っている末尾の改行を。これは、POSIX viがテキストファイルのみを扱うためです。これは、定義上、改行で終わる行です。簡単に確認すると、nviとelvisにはこのためのモードがありません。私のコメントでは、vimの詳細を忘れていました。vileとは異なり、「:setリスト」では欠落している改行がすぐに表示されません。これが私がvimで見るものです:
ssss$
test$
~
~
下劣な間:
ssss^J
test
~
~
どちらのエディターでも、ファイルを読み込んだり、モードを変更したりできます。たとえば、
:set noeol
そして、ファイルを書き出して、更新されたファイルの改行を取得します。直接表示するのではなく、vim のステータス行を変更してこの情報を表示できます。デフォルトでは、これを行うようには見えませんが、一部のパッケージャはこれをカスタマイズしています。たとえば、
"foo" [noeol] 2L, 9C 1,1 All
コメントの1つは「?」の使用を提案しています 修飾子のset
コマンド、例えば、
:set eol?
これは次のようなものになるかもしれません:
noendofline 2,1 All
挿入モードでは、これは
-- INSERT -- 2,1 All
したがって、ステータスラインは、この情報を維持するのに適切な場所のようです。
機能はしばらくありました:
(nvi、elvis、vim、vileはすべて、POSIX viのテキストファイルに加えてバイナリファイルを処理します)。