I get this weird problem when working in Python in my vim, when I hit w to move or delete for instance it won’t move to the proper position. For instance, let’s say I have the following:
email_message.walk()
If my caret is at the beginning and I hit w it would be expected that it moved to the W of walk, instead it moves to the closing parenthesis.
I’m almost positive the the problem here lies in the ‘iskeyword’ option. Motions like
wandbmove to a word boundary as defined by this option. I’m betting you have a plugin installed that is setting adding ‘.’ and changing this behavior.See
:help 'iskeyword'for more info about this option and:verbose set iskeyword?to see what last set this option.