I can prove directly that right adjoints preserve terminal objects. But how to deduce this from the fact that left adjoints preserve initial objects?
I suppose one should pass to the opposite categories somehow (and left and right adjoints must be connected by some kind of duality), but I don't understand the details.
This follows from duality. In general right adjoints preserve limits, and so by duality left adjoints preserve colimits. The fact that colimits are the dual of limits (and the initial object is the dual of the terminal object) should be clear.
So why is left adjoint the dual of right adjoint? Well, suppose we have functors $F: \mathcal{C} \to \mathcal{D}$ and $G: \mathcal{D} \to \mathcal{C}$, with for all objects $C$ in $\mathcal{C}$ and $D$ in $\mathcal{D}$: $$ \mathcal{D}(F(C), D) \cong \mathcal{C}(C, G(D)). $$ That is, $F$ is left adjoint to $G$. Then taking the dual everywhere, this is precisely the same as $$ \mathcal{D^\mathrm{op}}(D, F^\mathrm{op}(C)) \cong \mathcal{C^\mathrm{op}}(G^\mathrm{op}(D), C). $$ So indeed we see that $F^\mathrm{op}$ is right adjoint to $G^\mathrm{op}$.
So to sum up, colimits in $\mathcal{C}$ are the same as limits in $\mathcal{C}^\mathrm{op}$. If $F: \mathcal{C} \to \mathcal{D}$ is a left adjoint, then $F^\mathrm{op}: \mathcal{C}^\mathrm{op} \to \mathcal{D}^\mathrm{op}$ is a right adjoint. So since right adjoints preserve limits, $F^\mathrm{op}$ preserves limits and thus $F$ preserves colimits.