0

当文件末尾有换行符时,我如何在 vim 中看到?似乎 vim 总是显示一个,无论它是否真的存在。

例如,打开一个末尾有换行符的文件:

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

Vim 将此信息存储在'endofline'buffer 选项中。你可以检查

:setlocal eol?
于 2013-10-23T15:47:58.013 回答
1

当 Vim 打开/写入<EOL>最后一行末尾没有 no 的文件时,Vim 会发出警告:

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

在第二种情况下,Vim[noeol]在加载文件时显示。

[noeol]加载该文件时,您没有看到输出吗?

于 2013-10-23T21:14:01.653 回答