I'm going to answer this in the spirit of the question, making a few reasonable assumptions:
- that the two underlying vectors in $x = \sum_i a_i u_i$ are $\mathbf{a}=\{a_1,...,a_n\}$ and $\mathbf{u}=\{u_1,...,u_n\}$, thus giving $x = \mathbf{a}\cdot\mathbf{u}$. If not, there are several possibilities as in whuber's comment.
- The corresponding elements of the vectors $\mathbf{a}$ and $\mathbf{u}$ are ordered identically for all elements. In other words, for some ordering function $f$, $f(a_i,u_i)$ is the same for all $a_i$ and $u_i$. This is so that we aren't affected by the
Orderless attribute of Times (in other words, don't try this for something like $\mathbf{a}=\{b, p, z\}$ and $\mathbf{u}=\{e,g,l\}$).
- There are no numerals involved (i.e. this is purely symbolic) and the primary intent is to be able to display the vectors in the desired form.
With the above, the following is a very simple way to achieve the output with a few replacements:
expr = a1 u1 + a2 u2 + a3 u3;
expr /. Times -> List /. List -> CenterDot /. Plus -> List
(* {a1, a2, a3}·{u1, u2, u3} *)