0

ファイルの最後に改行文字がある場合、vim でどのように確認できますか? 本当にあるかどうかに関係なく、vimは常に1つを表示しているようです。

たとえば、末尾に改行があるファイルを開く場合:

echo "hi" > hi
# confirm that there are 3 characters, because of the extra newline added by echo
wc -c hi 
# open in binary mode to prevent vim from adding its own newline
vim -b hi
:set list

これは次のことを示しています。

hi$

比較すると、改行のないファイル:

# prevent echo from adding newline
echo -n "hi" > hi
# confirm that there are only 2 characters now
wc -c hi 
# open in binary mode to prevent vim from adding its own newline
vim -b hi
:set list

まだ示しています:

hi$

では、ファイルの最後に本当に改行があるかどうかをvimで確認するにはどうすればよいですか?

4

3 に答える 3

1

<EOL>Vimは、最終行の末尾にno を指定してファイルを開いたり書き込んだりすると、警告を出します:

"filename" [noeol] 4L, 38C
"filename" [noeol] 6L, 67C written
于 2013-10-23T21:17:14.777 に答える
1

[noeol]2 番目のケースでは、ファイルのロード時に Vim が表示されます。

[noeol]そのファイルをロードするときに、出力が表示されませんか?

于 2013-10-23T21:14:01.653 に答える
1

Vim はこの情報を'endofline'buffer オプションに保存します。で確認できます

:setlocal eol?
于 2013-10-23T15:47:58.013 に答える