That is good news, vibrations is a curse.
Sure, post your uav file here and I can have a look at it.
So, the tail holds okay using axislock in rate mode, that's good.
Some questions:
. you have a flybar or not?
. what version of Librepilot are you using?
Meanwhile some general steps when tuning PIDs found here
https://forum.librepilot.org/index.php?topic=1588.msg11596#msg11596Basically first you need to have arrived at a desired rotor head speed at hover, with a combination of throttle and collective curves. If head speed changes, then your PIDs need to change as well so keep it constant for now. Then take one thing at a time, first tail, then roll and pitch. Since yaw is okay already move on to roll and zero out the D term and the I term. leave rest as is. Since its oscillating now, I would cut the roll P term in half and try hover. You might need to do the same with pitch.
Its very good to know at what point oscillations start. With that reference I cut it some 30-40%. Then move on increasing the I term to oscillation and cut it down from there. Lastly D term that can be used to increase P and D terms even higher or just leave it at default. By now you should have a flying Heli.