此功能是编辑其他项目,编辑器如textmate和sublime时所关注的问题之一我相信为最后一行添加换行符,但是当编辑结束部分与vim文件并保存它我有时忘记添加最后一个换行符。如何在保存到VIM时在文件末尾添加/保留换行符
那么,我该如何自动执行此操作,并确保文件最后至少有一个新行。
此功能是编辑其他项目,编辑器如textmate和sublime时所关注的问题之一我相信为最后一行添加换行符,但是当编辑结束部分与vim文件并保存它我有时忘记添加最后一个换行符。如何在保存到VIM时在文件末尾添加/保留换行符
那么,我该如何自动执行此操作,并确保文件最后至少有一个新行。
我不记得在vim中是否有这个构建的解决方案。检查下面的代码段。它会在文件末尾添加空行。
function! AddLastLine()
if getline('$') !~ "^$"
call append(line('$'), '')
endif
endfunction
autocmd BufWritePre * call AddLastLine()
完美的作品!出于好奇。最后一行'autocmd BufWritePre * call AddLastLine()'是否意味着何时保存所有类型的文件?如何将其进一步自定义以仅在/排除特定文件类型。万分感谢。 –
使用'autocmd BufWritePre * .c \ | * .cpp \ | * .java \ | * .py调用AddLastLine()',但它只适用于指定的扩展名,您希望filetypes更好的方式是'autocmd FileType c ,cpp,java,python autocmd BufWritePre *调用AddLastLine()'。 – kTT
嗯,我测试过vim,如果打开一个文件并强制写入,最后换行总是被添加。你有具体的选项,防止vim对这个修复? – Netch
@Netch我检查过'.vimrc'我没有任何这样的选项,我想知道如何明确地告诉VIM在最后添加新行。 –