I'll suppose
- For every linear subspace $W$ of $\mathbb V$, $f(W)$ is a linear subspace, and
- If $W_1$ and $W_2$ are linear subspaces with ${\mathbb V} = W_1 \oplus W_2$, then ${\mathbb V} = f(W_1) \oplus f(W_2)$.
I am not assuming that $\mathbb V$ is finite-dimensional.
Note that $f(0)$ must be $0$, since $\{f(0)\}$ is a linear subspace.
Now I claim that $f$ is one-to-one. If $f(v_1) = f(v_2) \ne 0$ for some vectors $v_1 \ne v_2$, we can take subspaces $W_1$ and $W_2$ so that $v_i \in W_i$ and $W_1 \oplus W_2 = \mathbb V$, and then we can't have $f(W_1) \oplus f(W_2)$ because $f(W_1) \cap f(W_2) \ne \{0\}$. Now for any $w_1 \ne w_2$ with $f(w_i) \ne 0$, consider $f(\text{span}(w_1,w_2)) = \{0, f(w_1), f(w_2), f(w_1+w_2)\}$. There are no linear spaces of cardinality $3$ over ${\mathbb Z}_2$, so $f(w_1 + w_2) \ne 0$. That says $N = \{0\} \cup \{z: f(z) \ne 0\}$ must form a linear subspace. If $Y$ is a complementary subspace, $f(Y) = \{0\}$ so we must have $f(N) = \mathbb V$.
Let $\{w_\alpha: \alpha \in A\}$ be a basis of $N$, with $\beta$ one member of $A$. If $0 \ne v \in Y$, let $N'$ be the span of $w_{\beta}+v$ and $w_\alpha$ for $\alpha \in A \backslash \{\beta\}$. It is easy to see that $N' \oplus Y = \mathbb V$, but $f(w_\beta) \notin f(N')$ and $f(Y) = \{0\}$, contradiction. Thus there can't be such $v$, i.e. $f$ is one-to-one.
Now consider any distinct nonzero $v,w \in \mathbb V$. $\{0, f(v), f(w), f(v+w)\}$ must be a linear subspace, and these four are all distinct, so we must have $f(v+w)=f(v)+f(w)$. Thus $f$ is linear.
EDIT: The only vector spaces (over other fields) where (1) and (2) imply $f$ is linear are $\{0\}$ and ${\mathbb Z}_3$ over ${\mathbb Z}_3$ (every map of ${\mathbb Z}_3$ onto itself with $f(0)=0$ is linear). For any field $\mathbb F$ with more than three elements, there is a map of $\mathbb F$ onto itself with $f(0)=0$ that is not linear (by an easy cardinality argument). For any vector space ${\mathbb V}$ of dimension $\ge 2$ over a field $\mathbb F$ other than ${\mathbb Z}_2$, take $0 \ne e \in \mathbb V$ and $\beta \in {\mathbb F} \backslash \{0,1\}$, and define $f(v) = \beta v$ for $v \in {\mathbb F} e$ and $f(v) = v$ otherwise. Note that $f(W) = W$ for every subspace $W$, but $f(e+w) \ne f(e)+f(w)$ if $w \notin {\mathbb F} e$.