Ваше регулярное выражение работает.В конце строки не осталось пробелов после запуска.
То, что вы, вероятно, видите, это «остаточное» инкрементальное выделение, которое исчезло бы, если бы вы использовали
:%s/[ ]\+$//g
.- Обратите внимание на \+
вместо *
.инкрементная подсветка сохраняется, поскольку *
всегда совпадает даже с пробелами.
Чтобы удалить выделение, введите :noh
(сокращение от :nohlsearch
).
К вашему сведению: :%s/[ ]*$//g
эквивалентно :%s/ *$//g
.