此功能是編輯其他項目,編輯器如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在最後添加新行。 –