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".

Tags:

Vim