What does ".=" in vim scripts mean?
vim's online help is your friend:
:h .=
:let {var} .= {expr1} Like ":let {var} = {var} . {expr1}".
:h expr-.
expr6 . expr6 .. String concatenation
:h expr1
(well - this is a little hard to find):
expr2 ? expr1 : expr1 The expression before the '?' is evaluated to a number. If it evaluates to TRUE, the result is the value of the expression between the '?' and ':', otherwise the result is the value of the expression after the ':'. Example: :echo lnum == 1 ? "top" : lnum Since the first expression is an "expr2", it cannot contain another ?:. The other two expressions can, thus allow for recursive use of ?:. Example: :echo lnum == 1 ? "top" : lnum == 1000 ? "last" : lnum To keep this readable, using |line-continuation| is suggested: :echo lnum == 1 :\ ? "top" :\ : lnum == 1000 :\ ? "last" :\ : lnum You should always put a space before the ':', otherwise it can be mistaken for use in a variable such as "a:1".