バッファの内容がファイルに保存される前に、いくつかの小さな調整を行うpre-buffer書き込みフックを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のこれらの置換は、すべての置換の履歴に表示されることに気づきました。たとえば、手動で行った置換のリストを上にスクロールすると、そこにあります。
これらの置換が「漏れ」ないようにするために、これを行うために使用できるフラグ、または実際にいくつかのより良い方法はありますか?