refactor backward code for canonicalness
interface change, searching char does not re-search

- We want to bind as few keys while searching as possible during
  searching.
- I noticed that I (semi) frequently want to insert "a" after jumping to
  "a"