Can I "lock" movement of a vertex to certain angles?
Constrain to Custom Transform Orientation

I usually create a simple object (e.g an empty, or a cube...), rotate its local axis and create a Custom Transform Orientation from it (Ctrl+Alt+Space).


  Custom transform orientations defined from objects use the local orientation of the object whereas those defined from selected mesh elements (vertices, edges, faces) use the normal orientation of the selection.




Once created, the orientation can be selected in the Transform Orientation menù and called with doublepressing the axis shortcut (e.g. GXX) to limitate the vertex movement along the choosen axis.