I use grep-mode for a set of files and wgrep (writable grep buffer) for editing them. The buffer usually looks like:
I want to find a way to change the view like this:
wgrep and compile-goto-error should work as usual.
Upd. It works for wgrep and compile-goto-error now. Additional spaces for regexp are needed:
(setcar (car grep-regexp-alist)
"^\\(.+?\\)\\(:[ \t]*\\)\\([1-9][0-9]*\\)[ \t]*\\2")
It turns out wgrep-default-line-header-regexp already had required additional spaces.

