I did spend a little time this evening taking a look at what it would take to use @binding-set in CSS to implement Vim. The first thing we'll need to fix is GtkTextView swallows normal input. So things like j,k,l,h is swallowed before the binding set can activate.