The definition of vector I usually see is "an element of a vector space". To me, this make little sense from a completely formal standpoint, and I'll explain why.
To speak of an "element of an algebraic structure" is, from my understanding, to speak of an element of its underlying set. So, for example, if we consider the group $\mathbf Z=(\mathbb Z,+)$ (where $\mathbb Z$ is the set of integers), we may use the notation $x\in\mathbf Z$ equivalently to $x\in\mathbb Z$.
So, if I consider the vector space $(\mathbb R^2,\mathbb R,+,\cdot)$, with
$$\begin{align}+\colon\mathbb R^2\times\mathbb R^2\to\mathbb R^2\qquad&\text{s.t.}\quad(x_1,y_1)+(x_2,y_2)=(x_1+x_2,y_1+y_2)\\ \cdot\colon\mathbb R\times\mathbb R^2\to\mathbb R^2\qquad&\text{s.t.}\quad \lambda\cdot(x,y)=(\lambda\cdot x,\lambda \cdot y),\end{align}\tag1$$
I can speak of any element of $\mathbb R^2$ as a "vector". So, $(0,0)$ would be a vector. But, for example, the structure $(\mathbb R^2,+)$ is not a vector space, it's a group. So, we say that in this case $(0,0)$ is not a vector, it's an element of an abelian group.
My problem is the following: $(0,0)$ is always the same object, its value does not depend on the structure defined upon the set which $(0,0)$ is a member of. As I said before, $(0,0)$ being an element of a vector space is the same as saying it's an element of its underlying set, which is $\mathbb R^2$. So, $(0,0)$ being in a group or a vector space or whatever other structure doesn't change it as a mathematical object.
To me, this is a problem. How can we define vector as an element of a vector space, when we can define operations on that same set which don't make a vector space? Defining $+$ as in $(1)$ is not the only way possible, and $x$ being an element of a vector space doesn't add any additional structure to the element itself, taken individually.
A more sensible definition would be to define a vector in a similar way to algebraic structure: a vector is an ordered pair $(\mathbf v,V)$, where $V$ is a vector space such that $\mathbf v\in V$.