Align

The align command repositions selected entities using one or two pairs of source/destination points. With one pair it behaves exactly like Move (translate only). With two pairs it also rotates the selection so the source-to-source direction matches the destination-to-destination direction, and can optionally scale it so the source segment length matches the destination segment length โ€” translate, rotate, and scale in a single operation.

Two ways to start

Pre-select, then align โ€” select entities first, then activate:

  1. Select one or more entities on the canvas.
  2. Type align in the terminal or click the Align toolbar button.
  3. Click the first source point (S1), then click the first destination point (D1).
  4. Click the second source point (S2), or press Enter to apply a translate-only alignment now.
  5. Click the second destination point (D2).
  6. Answer the scale prompt: press Y to scale, or N / Enter to keep the original size.

Activate, then select โ€” start the command with nothing selected:

  1. Type align or click the toolbar button.
  2. Select objects โ€” click to toggle individual entities, or drag to select by area.
  3. Press Enter or Space to confirm the selection.
  4. Continue with S1 โ†’ D1 โ†’ S2 โ†’ D2 โ†’ scale prompt as above.

The terminal only needs enough letters to be unambiguous โ€” typing al and pressing Enter activates Align directly, since no other command name starts with those two letters.

Anatomy of an alignment

  Source points (on the entities):     Destination points:
  โ— S1                                 โ— D1
   \                                    \
    โ— S2                                 โ— D2

  Result: the selection is translated so S1 lands on D1, then
  rotated around D1 so the S1โ†’S2 direction matches the D1โ†’D2
  direction โ€” and, if you choose to scale, resized so |S1S2|
  becomes |D1D2|.

A live ghost preview follows the cursor at every step: a move preview while placing D1, then a rotated (dashed) preview once D2 is being positioned.

One-point alignment (translate only)

After D1 is placed, press Enter instead of clicking a second source point. The selection is translated by the S1โ†’D1 vector โ€” no rotation or scaling โ€” identical to a Move using S1 as the base point and D1 as the destination.

Two-point alignment (translate + rotate + optional scale)

Once S2 and D2 are both placed:

  • Rotation angle โ€” the difference between the destination direction (D1 โ†’ D2) and the source direction (S1 โ†’ S2).
  • Scale prompt โ€” scale objects to alignment points? [Yes/No] <N> appears, with No as the default:
    • Press Y to also scale the selection uniformly around D1 so the S1โ€“S2 distance becomes the D1โ€“D2 distance.
    • Press N or Enter to keep the original size โ€” only translate and rotate are applied.

Pressing a key at the scale prompt applies the alignment immediately โ€” thereโ€™s no separate confirmation step after choosing Yes or No.

Keyboard reference

KeyAction
Enter / SpaceConfirm selection and advance to the S1 phase
Enter (at the S2 step)Skip rotation โ€” apply a translate-only alignment using S1 and D1
YApply the alignment with scaling
N / Enter (at the scale prompt)Apply the alignment without scaling
EscapeWhile picking points: discard them and return to the selection phase; with nothing selected: cancel the command

Selection during the command

When the command starts in selection phase:

MethodBehaviour
ClickToggles the entity under the cursor in/out of the selection
Drag right (strict)Adds entities fully inside the box
Drag left (crossing)Adds entities that intersect the box boundary
Enter / SpaceConfirms the selection and moves to the S1 phase

After aligning

The aligned entities remain selected at their new position, and the command ends automatically โ€” run Align again, or switch to Move, Rotate, or Scale without re-selecting.

Align vs Move

AlignMove
Point pairs1 (translate only) or 2 (translate + rotate + scale)1 (translate only)
RotationYes, with a second point pairNo
ScalingOptional, with a second point pairNo
Best forFitting one shape onto another using reference pointsSimple repositioning

Supported entities

Align works on every entity type supported by Move, Rotate, and Scale โ€” the same translate, rotate, and scale operations those commands use are applied in sequence, so nothing is excluded.