I write a lot of code and tired of pressing shift each time I need a special character. And since I use special chars much often, then numbers, I want to reverse shift behavior on them.
So, if I type <4> I'll get '$' and if I type <shift>+<4> I'll get '4' and so on for each number. This mapping should work only in insert mode.
I've tried:
:set langmap 123...;!@#...,!@#...;123 "works only in normal-mode
:imap 4 $
:imap $ 4 "recursive mapping error