[vim keymap] Make search highlighting respect ^ (start of line)

Respect ^ expression in search, and also not match the empty string, which was causing an infinite loop problem.