I seems to have something to do with the keyboard. I am using a Swiss Keyboard (Schweiz, deutsch) and here I have to Press Option-G to write a @.
I change the keyboard to English and here it works as expected. If I press Shift-2 to write a @, it is recognized as a vim macro.
The key event test script Javascript Key Event Tester shows following differences:
Swiss keyboard (pressing Option-G):
keydown keyCode=18 which=18 charCode=0
keydown keyCode=71 (G) which=71 (G) charCode=0
keypress keyCode=64 (@) which=64 (@) charCode=64 (@)
textInput data=@
@keyup keyCode=71 (G) which=71 (G) charCode=0
keyup keyCode=18 which=18 charCode=0
English keyboard (pressing Shift-2):
keydown keyCode=16 which=16 charCode=0
keydown keyCode=50 (2) which=50 (2) charCode=0
keypress keyCode=64 (@) which=64 (@) charCode=64 (@)
textInput data=@
@keyup keyCode=50 (2) which=50 (2) charCode=0
keyup keyCode=16 which=16 charCode=0