2014-01-05 79 views
3

此功能是编辑其他项目,编辑器如textmate和sublime时所关注的问题之一我相信为最后一行添加换行符,但是当编辑结束部分与vim文件并保存它我有时忘记添加最后一个换行符。如何在保存到VIM时在文件末尾添加/保留换行符

那么,我该如何自动执行此操作,并确保文件最后至少有一个新行。

+0

嗯,我测试过vim,如果打开一个文件并强制写入,最后换行总是被添加。你有具体的选项,防止vim对这个修复? – Netch

+0

@Netch我检查过'.vimrc'我没有任何这样的选项,我想知道如何明确地告诉VIM在最后添加新行。 –

回答

4

我不记得在vim中是否有这个构建的解决方案。检查下面的代码段。它会在文件末尾添加空行。

function! AddLastLine() 
    if getline('$') !~ "^$" 
     call append(line('$'), '') 
    endif 
endfunction 

autocmd BufWritePre * call AddLastLine() 
+0

完美的作品!出于好奇。最后一行'autocmd BufWritePre * call AddLastLine()'是否意味着何时保存所有类型的文件?如何将其进一步自定义以仅在/排除特定文件类型。万分感谢。 –

+1

使用'autocmd BufWritePre * .c \ | * .cpp \ | * .java \ | * .py调用AddLastLine()',但它只适用于指定的扩展名,您希望filetypes更好的方式是'autocmd FileType c ,cpp,java,python autocmd BufWritePre *调用AddLastLine()'。 – kTT

相关问题