setting tabs by declaration rather than by example
You can set the tabs using a line with, for example, \hspace{<length>}
and ending the line with the \kill
command:
\documentclass{article}
\begin{document}
\begin{tabbing}
\hspace*{2cm}\=\hspace*{3cm}\= \kill
column1a \> column2a \> column3a \\
column1b \> column2b \> column3b
\end{tabbing}
\end{document}
You can also make a custom command if you are reusing the same tabstops
\newcommand\mytabs{\hspace*{2\parindent}\=\hspace{2cm}\=\hspace{2cm}}
\newenvironment{mytabbing}[1][\mytabs]
{\begin{tabbing}#1\kill}
{\end{tabbing}}
which you can use as
\begin{mytabbing}
\>aa \>bb\\
\end{mytabbing}
or
\begin{mytabbing}[\hspace*{2\parindent}\=aa~\=]
\>aa \>bb\\
\end{mytabbing}
In two words: texdoc tabto
\documentclass[a4paper]{article}
\usepackage[showframe,margin=3cm]{geometry}
\usepackage{tabto}
\parindent0em\parskip1em
\begin{document}
\TabPositions{2cm,5cm,6.5cm,12cm}
xxx \tab{xxx} \tab{xxx} \tab{xxx} \tab{xxx} \tab{xxx} \tab{xxx}
\tab{xxx} \tab{xxx} \tab{xxx} \tab{xxx} \tab{xxx} \tab{xxx} \tab{xxx}
\NumTabs{8}
xxx \tab{xxx} \tab{xxx} \tab{xxx} \tab{xxx} \tab{xxx} \tab{xxx}
\tab{xxx} \tab{xxx} \tab{xxx} \tab{xxx} \tab{xxx} \tab{xxx} \tab{xxx}
\end{document}