2つのファイルを作成しましょう。
$ echo -n 'test' > test.txt
$ wc test.txt
0 1 4 test.txt
ファイルにtest.txt
末尾の改行が含まれていません。
$ echo 'test' > test_n.txt
$ wc test_n.txt
1 1 5 test_n.txt
ファイルtest_n.txt
には末尾の改行が含まれています。
上記の2つのファイルは明らかに異なりますが、2つのファイルのプレビューは次のvim
場所にあります。挿入モード違いはありません。
$ vim test.txt
$ vim test_n.txt
なぜ違いはありません(新しい行または特別な違い)?
vim
このような追加の文字を追加または削除するにはどうすればよいですか?挿入モード?
答え1
vimが一つあります。モデル 「廃止」(end of line) は、ファイルの最後の行が欠落しているかどうかを示します。新しいチーム特徴。 vim(またはviに似たプログラム)のすべてのモード設定は、次のように表示できます。
:set all
POSIX viこれに対する機能はありません。ファイルの長さがゼロまたは持つ末尾の改行文字。これは、POSIX viが改行で終わる行が定義されたテキストファイルのみを処理するためです。クイックチェックにより、nviとelvisにはこれにモードがないことがわかります。私の意見では、私はvimの詳細を忘れていました。邪悪なものとは異なり、 ":set list"は欠落している改行を簡単には表示しません。 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
だからステータスバーこの情報を管理するのに適した場所のようです。
次の機能はしばらく使用されました。
これ
eol
ソースコードの説明によると、この機能はvim 2.4(1994年7月)で初めて登場しました。卑劣な
newline
パターンが表示されます1993年7月。
(nvi、エルビス、vim、vileすべてのハンドルバイナリPOSIX vi以外のファイルテキスト文書)。