I really like "jump" which I have aliased to "j". It auto learns and you can also pin shortcut names so I don't have to fuss configuring it but also can control certain ones. Great trade off between usability and configurability. Can't find the repo but "brew install jump" works :)