最后一行或eof上的Vim无线端
我正在尝试设置vim,以跳过在最后一行或eof上添加eol,我已经尝试了这个最后一行或eof上的Vim无线端,vim,end-of-line,eof,Vim,End Of Line,Eof,我正在尝试设置vim,以跳过在最后一行或eof上添加eol,我已经尝试了这个 :set binary :set noeol :w 这是不完美的,因为二进制重写文件类型供以后使用 任何其他设置选项,我不需要在最后一行换行。来自vim文档: 'binary' 'bin' boolean (default off) local to buffer {not in Vi} This option should be set **befo
:set binary
:set noeol
:w
这是不完美的,因为二进制重写文件类型供以后使用
任何其他设置选项,我不需要在最后一行换行。来自vim文档:
'binary' 'bin' boolean (default off)
local to buffer
{not in Vi}
This option should be set **before** editing a binary file. You can also
因此,您应该使用
vim-b
或:e++bin文件
,或使用:e++bin
我想到了这个:
" php remove eol from end of file
autocmd FileType php setlocal noeol binary fileformats="mac,unix,dos"
谢谢大家
干杯。这比我在某处找到的更好:
au BufWritePre * :set binary | set noeol
au BufWritePost * :set nobinary | set eol
我想补充一个我认为同样有用的答案。所选答案始终删除文件上的下线,即使它们有一个下线开始。这可能是你想要的行为,也可能不是。在我看来,我想保留我最初打开文件时的下线 我建议稍微修改一下。将
set binary
放在.vimrc
文件的顶部。这样,任何文件都将以二进制模式打开。如果他们没有下线,vim将检测到这一点,并将其保留为NOEOL。如果他们有一个EOL,那么它会将其识别为有一个EOL,并将其保留
如果希望新文件也没有EOL,则应设置
au BufNewFile * set noeol
chap的命令是:如果您总是想要NOEOLever。需要注意的一点是,如果文件底部有空格,那么最后会丢失空格。这是因为发生了以下情况:
set eol?
进行检查。如果您想清除内部存储的eol,只需说set noeol
,然后保存并BOOM,最后一个eol将被删除
哇哦,我打这个都烦死了。二进制选项对文件类型没有任何作用。它可能会问:你为什么投票关闭这个?常见问题解答告诉“程序员常用的软件工具”关于主题。@hobbs将文件设置为二进制禁用许多选项,:help binand没有一个是文件类型,:help binSimilar:at SOBinary对我不起作用,因为它重置了文件类型,有没有其他选项禁用eof上的eol?然后使用
:setf your_file_type
重新启用它?我需要这个用于php文件,而且它需要很多黑客攻击,启用binary、 设置noel,保存文件,而不是禁用二进制文件和设置文件类型。我还使用NERDTree,我可能需要破解它才能获得此功能。这是迄今为止最好的答案!在一句话中,您为OP的问题提供了3个强大的解决方案。我能够结合vim-b myfile
和:set noeol
,以满足我的需要现在我有了一项可以在任何地方使用的技能。我不必让我的.vimrc文件变得强大。我知道如何使用编辑器的强大功能。在某些情况下,在默认情况下在.vimrc中预先设置set noeol
,也会很有用。