Редактировать
Похоже, вы хотели это:
viW
:s/\%V\.\(\w\+\)\%V/\="['" . submatch(1) . "']"/g
Например, для следующего текста, curosr во второй строке:
x = a.get.property;
x = a.git.another.property; # cursor on the first letter 'e'
Результат будет
x = a.get.property;
x = a['git']['another']['property'];
Вы, вероятно, хотели вас
- дергай одно слово , затем
- переместить курсор (о котором вы не упоминаете)
- _заменить слово под курсором на предыдущее слово?
Это было бы
у я W
(переместить курсор вокруг)
v я W р
Так, например ::1010 *
the lazy cow mooned over the racy hump
cursor here: ----> +
Теперь выполняем y i W (дергать внутреннее СЛОВО), F a (назад к :)
the lazy cow mooned over the racy hump
--> +
Теперь v i W p заменяет текущее WORD:
the over cow mooned over the racy hump
--> +