Avoid user cword

Resend PR

I avoid use <cword> for 2 reason.
1. <cword> depends on iskeyword, and # is not default in iskeyword
2. I want to add support rgb(100,200,150) format. And it will never match <cword>

This pull request also include error handling(response is not expected, ex: user cancel) and support 4 byte hex format.