Horizontal and Vertical Alignment
Regarding your first question, you can't actually vertically align text inside a layer. What you do instead is explained in the first answer to this question, that I think is very valid for any type of element:
For positioning text you don't need a bounding box. I never use
bounding boxes for text in PS. I click the text tool without dragging
and set the text cursor without a box. Once the text is entered, I can
center it vertically or horizontally just like any other shape using
the align buttons--assuming I have something to align it to.
So basically what you move around and align using the alignment tools is the layer rather than the text inside a textbox. If you want to use a textbox still, there is a workaround using baseline shift.
For the horizontal alignment, you just need to use
Center Text in the
But as mentioned, for all layers (be it text, shape, etc), you should use the
Align tools. You can find a nice guide on how to get you started with alignment in the Adobe site.
Now about your second question, the gradient. The easiest thing you can probably do is just use
Blending Options > Gradient Overlay. Now if you want all your texts to have the exact same gradient regardless of size, you could:
- Draw a rectangle the same size as the expected text;
- Apply a multiple-color gradient to the rectangle;
- Use the gradient layer as a layer mask so only the letters show the colors.
A quick example of these options. In the first one the gradient adapts to the length of the word, in the second it remains the same.
Note: This is killing my eyes too.