For every nonzero vector $v$ there exists a linear functional $f$, sucht that $f(v) \neq 0$. 
I want to prove that for all $v \in V$ with $v \neq 0 \implies \exists f \in V^{*} : f(v) \neq 0$.

I know that if $V$ is finite-dimensional we can choose a basis $\{e_i\}$ of $V$ and construct the corresponding dual basis $\{e^{*}_i\}$. If $v \neq 0$ then necessarily at least one component of $v$ with respect to $\{e_i\}$ must be nonzero. WLOG let $v^{j} \neq 0$ then $e^{*}_j(v) = v^{j} \neq 0$ proving the theorem.
However, I think this theorem should be true even in the infinite-dimensional case and I would like to see a basis-free proof (i.e. a proof that doesn't require a choice of basis). Apparently there's a proof in this question, but I'm pretty sure that the constructed functional $f$ is not linear. For the sake of argument let me reproduce the answer here:

Let $v \neq 0$ and let $H$ be a subspace of $V$, such that $V = \operatorname{span}(v)\oplus H$. Define $f: V^{*} \to \mathbb{F}$ by $f(v) = 1$ and $f(h) = 0$ for all $h \in H$.

Now, let's check whether $f$ is homogenous. Let $w \in \operatorname{span}(v)$, such that $w = \alpha v$ for some nonzero $\alpha \in \mathbb{F}$. We need to show that $f(w) = f(\alpha v)$ equals $\alpha f(v) = \alpha$. However, by definition $f$ is nonzero only for the vector $v$ and we get $f(w) = 0 \neq \alpha = \alpha f(v)$. Even if we interpret the definition of $f$ to mean that $f(s) = 1$ for all $s \in \operatorname{span}(v)$ it doesn't work out. How is this supposed to work out?

$f$ is actually nonzero on $\operatorname{span}(v)$ (except at $0$, of course). What they did not say explicitly is that you extend $f$ to $\operatorname{span}(v)$ by linearity, i.e. $f(\alpha v) \equiv \alpha f(v)$ for all $\alpha\in\mathbb{F}$. So the proof is more or less a definition, in effect.
