如何防止 Vim 在 EOF 处为 LaTex 文件添加换行符?

How to prevent Vim adding a newline at EOF for LaTex files?

当我编辑 LaTex (.tex) 文件时 Vim 在写入时自动在文件末尾添加一个换行符。如何禁用此行为(仅适用于 .tex 文件)?

这应该(几乎)够了:

augroup mytex | au!
    autocmd FileType tex setlocal nofixeol
augroup end

但请注意,如果某些文件末尾已经有一个换行符,那么该换行符将在 Vim 中变为 "invisible" 并且您无法正常删除它。

要解决这个问题,您可以手动使用 setl eol?setl noeol,或者简单地将 setl noeol 添加到自动命令中。

另请参阅嵌入式帮助系统主题 :h eol:h fixeol