如何在vim中自动检测文件格式?
虽然如何在vim中自动检测文件格式?,vim,Vim,虽然set ff?手动检测文件格式,但我不知道如何在启动时检测 我尝试了if($ff=='unix')但没有 那么,有更好的办法吗?要阅读选项,您应该使用&ff 要阅读选项,应使用&ff 正如@Kent所说,这确实是&ff。但是请注意,这只适用于当前缓冲区。如果您打开另一个文件(:e,:sp…),它将具有自己的值 一个.vimrc不是分析打开vim时使用的文件的最佳位置,因为它只是这样做:只分析这个文件,只做出一次反应 你到底想达到什么目的?(->如果fileformat=unix,则删除^M)
set ff?
手动检测文件格式,但我不知道如何在启动时检测
我尝试了if($ff=='unix')
但没有
那么,有更好的办法吗?要阅读选项,您应该使用
&ff
要阅读选项,应使用&ff
正如@Kent所说,这确实是&ff
。但是请注意,这只适用于当前缓冲区。如果您打开另一个文件(:e
,:sp
…),它将具有自己的值
一个.vimrc
不是分析打开vim时使用的文件的最佳位置,因为它只是这样做:只分析这个文件,只做出一次反应
你到底想达到什么目的?(->如果fileformat=unix,则删除^M)
编辑:
好啊然后,您需要侦听BufWritePre
事件以在保存时修复该文件,或者BufReadPost
以在读取后立即修复该文件。在这种情况下,您可能会遇到无法修改文件的问题,并且您还必须使用&modifiable
aug fix_eol
au!
BufReadPost * if &ff!=unix | keepp %s/\r$//e | endif
aug END
在所有情况下,不得在
.vimrc
中清楚地书写测试。这四行可以。正如@Kent所说,它确实是&ff
。但是请注意,这只适用于当前缓冲区。如果您打开另一个文件(:e
,:sp
…),它将具有自己的值
一个.vimrc
不是分析打开vim时使用的文件的最佳位置,因为它只是这样做:只分析这个文件,只做出一次反应
你到底想达到什么目的?(->如果fileformat=unix,则删除^M)
编辑:
好啊然后,您需要侦听BufWritePre
事件以在保存时修复该文件,或者BufReadPost
以在读取后立即修复该文件。在这种情况下,您可能会遇到无法修改文件的问题,并且您还必须使用&modifiable
aug fix_eol
au!
BufReadPost * if &ff!=unix | keepp %s/\r$//e | endif
aug END
在所有情况下,不得在
.vimrc
中清楚地书写测试。这四行可以。我猜他想写一些autocmd。如果fileformat是unix,我试图删除回车符。这并不能回答这个问题。若要评论或要求作者澄清,请在其帖子下方留下评论。-@ScottHunter&评论家。在我的定义中,预测未来的错误/不当行为并不是回答问题。我猜他想写一些autocmd。如果fileformat是unix,我试图删除回车符。这并不能回答问题。若要评论或要求作者澄清,请在其帖子下方留下评论。-@ScottHunter&评论家。根据我的定义,预测未来的错误/不当行为并不是回答问题。