Unix テキスト ファイルの規則では、すべての行が改行で終了し、改行は行区切りではなく行末記号です。
Vim がバッファーをファイルとして保存すると、そのファイル形式の行末シーケンス (Unix の場合は改行) ですべての行が終了します。見る
:help 'fileformat'
Unix のテキスト処理ツールを使用している場合は、この規則に従うのが最善です。ただし、ファイルの最終行の末尾に改行を入れたくない場合は、そうすることができます。 Vim は、そのようなファイルを「バイナリ」と見なします。見る
:help 'binary'
:help edit-binary
Vim 8.0 は fixeol
でこれを提供するようになりました オプション。具体的には:
:set nofixeol
その場合、Vim はしません ファイルにまだ改行文字がない場合は、最終行の最後に末尾の改行文字を追加します。
それはファイルタイプのプラグイン、またはおそらくあなたの .vimrc
に入る可能性があります .
(これは :set binary
の改善です binary
に対して、最後の改行文字にのみ影響するためです。 また、実際にバイナリ ファイルを編集している場合を除き、他の動作も変更します。)
新しく作成されたファイルには、デフォルトで引き続き改行文字が含まれます。さらに以下を実行することで、これを変更できます (そして、既に最後の改行を持たないファイルに切り替えることができます):
:set noeol
これは、変更するファイルごとに個別に設定する必要があります。ファイルをバッファにロードすると、常に eol
が設定されます ファイルの現在の状態に合わせます。
Vim は、ユーザーが自分で入れていないものを追加していません。
「改行」文字はではありません 「改行」であり、両方の例は完全に正常です:
- 最初の例では、ファイルに 1 行しか含まれていないため、「改行」文字が 1 つ取得されます。
- 2 番目の例では、ファイルに 2 つの行が含まれているため、2 つの「改行」文字が得られます。