Vim Surround inserts extra space around the word

Solution 1:

If you type S(, it will be surrounded by spaces. However if you use the closing ) instead S) it will not be surrounded by spaces.

This applies of course to all bracket pair surroundings, <> [] {} (), not merely to (), although the behavior of S< is such that it expects a tag enclosure so only S> is able to surround as <>.

Solution 2:

When you use the surround plugin you can use:

cs) instead of cs( to surround without space :).