I know ‘esc’ is the shortcut to escape from ‘visual’ mode, but it types “^[” character instead when I press ‘esc’ in PUTTY somehow. Therefore, I cannot ever escape from it except that I have to turn off the putty and restart it.
Is there any options to avoid this situation??
Your terminal settings are mismatched between PuTTY and the remote machine. Fiddle with the PuTTY terminal type settings and/or the TERM= variable on the remote machine until you get them to match.
More information (such as what you’re connecting to, and what the value of TERM is) would be helpful if you don’t get it working within a few tries.