refactor core seek code to be more dry
abort seek if first char entered is Esc