add vimmode and termios support