質問

メモ帳でテキストファイルを開くと、テキストを含む最後の行の最後に改行がある場合、空白行が表示されます。ただし、Vimではこの空白行は表示されません。私が気づいたもう1つのことは、Vimエディターがデフォルトで最後の行に改行を追加することです(表示されていなくても)。 Vimで作成されたファイルをメモ帳で開くと、ファイルの最後に空白行が表示されるため、わかります。

とにかく、私はこれらの2つの違いに耐えることができますが、この動作を切り替えることができるVimのオプションがあるかどうか疑問に思っています。

ありがとう

PS-GVim 7.2

[更新]

これは代わりにサーバー障害に意味があるでしょうか?

[更新2]

これを言い直します...単一行のファイルの最後に改行があることを知る必要があります(メモ帳は、Vimではわかりませんが、テキストのない余分な行を表示します)。これは、テキストファイルを読み取り(1行を期待するが、キャリッジリターンを使用)、何らかの目的でテキストを解析するProgressプログラムによるものです。キャリッジリターンがない場合、Progressはその行をnullとして扱います。

[回避策] キャリッジリターンがあることを確認する1つの方法(ただし、2番目のキャリッジリターンを追加しないことを確認してください)は、行末書き込みオプションがオン(:set eol)になっていることを確認してから、書き込み/保存。これにより、ファイルに行末が存在しない場合は、行末が挿入されます。それ以外の場合、新しいものは追加されません。

役に立ちましたか?

解決

:help endofline

vimが余分な改行を追加しないようにする方法を説明しています。

他のヒント

vimは改行を改行文字として扱い、メモ帳は改行を改行として扱います:from http://en.wikipedia.org/wiki/Newline

  

また、   改行は、行を終了または分離します。   改行が   区切り文字、改行はありません   ファイルの最後の行の後。の   ほとんどのシステムでの一般的な規則は   最後の後にも改行を追加する   行、つまり改行を行として扱う   ターミネーター。一部のプログラムには   の最後の行の処理に関する問題   ファイルが改行で終了していない場合。   逆に、期待するプログラム   セパレータとして使用される改行   最終改行を開始として解釈する   新しい(空の)行。これにより、   報告されている別の行数   ファイル用ですが、それ以外は   通常は無害です。

正しく思い出すと、unix-yシステムではテキストファイルを改行で終了する必要があります。

便利なVimオプションの1つは

set list

すべての行末文字(および場合によっては他の一般的に不可視の文字)を確認するのに役立ちます。したがって、メモ帳だけでなく、Vimでこの最後のエンドラインを直接表示できます。

VIMでファイルを開くと、ファイル名の後にステータス行に [noeol] と表示されます。それが一つの目安です。 Manni が言ったように、 endofline オプションとバイナリオプションがオン。これを .vimrc ファイルのデフォルト設定として設定できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top