:! や :mak 実行時に以前の画面をクリアするハック

vim で :! や :mak を実行すると、画面に以前のコマンドの出力が残っているので、どこからが今実行したコマンドの出力なのかわかりづらい。そこで以前の画面をクリアするようにした。

--- ../src.orig/ex_cmds.c	Sun Apr 23 03:56:56 2006
+++ ex_cmds.c	Sat Dec  2 20:38:38 2006
@@ -1396,6 +1396,8 @@
     if (!swapping_screen())
 	windgoto(msg_row, msg_col);
     cursor_on();
+    redraw_later_clear();
+    out_str(T_CL);
     (void)call_shell(cmd, SHELL_COOKED | flags);
     did_check_timestamps = FALSE;
     need_check_timestamps = TRUE;

スクリプトだけでできないかと思い、

au QuickFixCmdPre * :!clear

としてみたけどダメだった。
ShellCmdPost はあるのに ShellCmdPre はないんだな。