I think the issue is that vi's "<shift-%>" does brace matching by jumping back and forth between the two braces, whereas kate (and most IDE's and programmer's editors) visually highlight the area between them.
I frankly don't know how to substitute a "visual highlight" for the "jump between" behavior in "vi" (or it's more specialized cousin, "vim").
I googled a little:
1. This page looks interesting (although it doesn't have a solution)
2. I also saw mention of a "RadRails plugin for vim". I haven't tried it, but it might be useful to you:
3. RadRails looks less like a plug-in than a full-blown IDE. As I said above (and you undoubtedly already know), most IDEs (Eclipse, NetBeans, MSVC, etc etc) and most Programmer's editors (UltraEdit, CodeWright, etc etc) do visual syntax highlighting, hot-key compilation, syntax checking, etc etc
'Hope that helps .. PSM