I simplified your example in order to have a more compact code.
However, you need to have some understanding of how to use TikZ package.
I am having trouble properly placing the charge on the oxygen atom
without affecting the lone electron pairs.
You can place the charge on the oxygen atom by moving \rlap out of the lewis diagram and then raising it:
\lewis{0:2:6:,O}\raisebox{1mm}{\rlap{${}^{-}$}}
I'm also having trouble figuring out how to add the arrows
Electron movement can be shown as follows:
Put departure and arrival points of the electron by placing @{one}
and @{two}
markers on the bond:
(=[@{one}:60,0.6]@{two}\lewis[0.5]{3:0:,O})
Draw an arrow from start departure (named one in the example) to the arrival point (two):
\draw[shorten <=4pt,shorten >=2pt] (one) .. controls +(335:4mm) and +(320:5mm) .. (two);
...and the hydroxide ion in the bottom left
Put the hydroxide ion in the bottom left by drawing TikZ node:
\tikz[remember picture]\node(n0)[yshift=-4mm]{\chemfig{H\lewis{0:2:6:,O}\raisebox{1mm}{\rlap{${}^{-}$}}}};
And finally, draw an arrow towards to upper folmula:
\draw[shorten <=4pt,shorten >=5pt] (n0) .. controls +(100:2mm) and +(220:7mm) .. (three);
Please find the full MWE below:
\documentclass[a4paper]{article}
\usepackage{chemfig}
\parskip=0.1in
\begin{document}
\chemfig{H_3C-[:0,0.6]@{three}(-[:-60,0.6]\lewis[0.5]{4:7:,O}-[:0,0.6]-[:-60,0.6]CH_3)
(=[@{one}:60,0.6]@{two}\lewis[0.5]{3:0:,O})}
\par
\tikz[remember picture]\node(n0)[yshift=-4mm]{\chemfig{H\lewis{0:2:6:,O}\raisebox{1mm}{\rlap{${}^{-}$}}}};
\chemmove{
\draw[shorten <=4pt,shorten >=2pt] (one) .. controls +(335:4mm) and +(320:5mm) .. (two);
\draw[shorten <=4pt,shorten >=5pt] (n0) .. controls +(100:2mm) and +(220:7mm) .. (three);
}
\end{document}
