web-dev-qa-db-ja.com

Vimはファイルの最後に改行を表示します

set eolオプションを使用すると、Vimは保存時にファイルの最後に自動的に改行を追加します。私はこのオプションをオンにしていますが、この改行をVimで表示できるようにしたいので、実際にそこにあります。

たとえば、Vimにファイルがあるとします。 Vim screenshot

そしてTextMateの同じファイル: TextMate screenshot

これは常に私をだまして、私は2番目の新しい行を追加してしまい、後で実現することになります。このまったく同じ質問が投稿されました ここ が、受け入れられた回答は質問のこの部分には回答しませんでした。

set listの使用: List screenshot

最後の行の後に改行を示す$文字があることがわかりますが、これにより、ファイルの残りの部分もこれらの文字で明るくなっています。私はこれにトグルを設定できることを知っていますが、TextMateのような動作を本当に好みます。

38
Keith Smiley

'endofline'はデフォルトでオンになっているので、~/.vimrc

EOLまたは「改行」は、「この後に空の行がある」という意味ではなく、「これは行の終わりを示します。それ以上の文字は別の行に表示されます」という意味です。 "改行"!= "改行"。

ファイルの最終行は#21で、「改行」文字で終わります。その「改行」文字の後に実際の行がないため、行#22はありません。行#22を表示することは、間違っているだけでなく、誤解を招く可能性があります。

TextMateの動作が間違っています。

Vimの動作は正しいです。

Vimに22行目を表示させたい場合は、その行を明示的に追加する必要がありますが、私にはばかげているように思えます。

16
romainl