  We re-examine direct CP violation in the quasi-two-body $D\to V\!P$ decays
and study CP asymmetries in three-body $D$ decays proceeding through
intermediate vector resonances within the framework of the topological
amplitude approach for tree amplitudes and the QCD factorization approach for
penguin amplitudes. Using the same mechanism of incorporating long-distance
penguin-exchange amplitude induced from final-state rescattering that nicely
accounts for the CP asymmetry difference between $D^0\to K^+K^-$ and
$\pi^+\pi^-$ modes, we find that CP asymmetry can also occur at the per mille
level in many of the $D\to V\!P$ channels or otherwise be negligibly small. We
point out six golden modes which have sufficiently large branching fractions
and direct CP violation of order $10^{-3}$. In particular, the direct CP
asymmetry difference $\Delta a_{CP}^{V\!P}$ between $D^0\to K^+K^{*-}$ and
$\pi^+\rho^-$ is predicted to be $(-1.61\pm0.33)\times 10^{-3}$, very similar
to the counterpart in the $P\!P$ sector. Besides, we find a positive and large
CP asymmetry of order $10^{-3}$ in $D^0\to K_S K^{*0}$, an example of the
asymmetry induced at the tree level. We take into account the flavor-singlet
QCD-penguin contributions to calculate their effects on the modes such as
$D\to\pi\phi$ and $D\to \eta \phi$. We compare our results with the other
approach in detail. For three-body $D$ decays, we perform the Dalitz plot
analysis of those decays mediated by several vector resonances with the same
mass but different electric charges. Local CP asymmetry varies in magnitude and
sign from region to region and can reach the percent level in certain local
regions of phase space due to interference.
