我在vim中設置了一個預緩衝區寫入掛鉤,它在將緩衝區的內容保存到文件之前進行一些小的調整。停止vim函數中的替換漏入所有替換的歷史記錄
if !exists("autocommands_loaded")
let autocommands_loaded = 1
autocmd BufWritePre *.php call TidyUpFormatting()
endif
func! TidyUpFormatting()
let save_cursor = getpos('.')
%s/\s\+$//ge
%s/\($\n\s*\)\+\%$//ge
%s/var_dump /var_dump/ge
%s/){/) {/ge
%s/(/(/ge
%s/if(/if (/ge
%s/while(/while (/ge
call setpos('.', save_cursor)
endfunction
這是在我的ftplugin/php.vim文件中。 我注意到,儘管TidyUpFormatting中的這些替換顯示在所有替換的歷史記錄中 - 例如,如果我通過手動完成的替換列表向上滾動,那麼它們就是。
有沒有一個標誌我可以使用,或者確實有更好的方法來做到這一點,以便這些替換不會「泄漏」?
這似乎有幫助 - 謝謝! – kguest 2013-03-18 16:39:06