Shortcuts and configuration
Keyboard shortcuts
These work in every view while the canvas has focus:
| Shortcut | Action |
|---|---|
| V | Next view: layout, schematic, symbol, and around to layout |
| Shift+V | Previous view, around the same cycle |
| O | Open a cell |
| Cmd+N | Create a cell in the current module (also while a text field has focus) |
| Cmd+Shift+R | Rename the open cell (also while a text field has focus) |
| F | Fit the view to the canvas |
| U | Undo (in the source buffer) |
| Ctrl+R | Redo |
| Arrow keys | Pan |
| Cmd/Ctrl++ / - | Zoom in or out |
| : | Focus the Neovim command line, where :Argon arguments complete with Tab |
| Cmd+Backslash | Switch between the canvas and Neovim (on Linux, Super+Backslash) |
| Ctrl+Shift+D | Show diagnostics |
| Ctrl+Shift+M | Show messages |
| Backspace | Undo the last point or edge picked by the active tool |
| Esc | Cancel the current operation or clear the selection |
| Enter | Confirm or finish the current operation |
With argone --terminal, Neovim runs in its own terminal, and Ctrl+Backslash switches between the GUI and that terminal instead.
While Neovim has focus, keys go to Neovim, except for the shortcuts that work everywhere: Cmd+Q, Cmd+S, Cmd+N, Cmd+Shift+R, Cmd+Backslash, Ctrl+Shift+D, and Ctrl+Shift+M. Cmd+V pastes the clipboard into Neovim, and other Cmd combinations reach Neovim as <D-…> keys. Ctrl+Backslash reaches Neovim too, so Ctrl+Backslash Ctrl+N leaves terminal mode in :terminal. Neovim draws with the font in guifont, using the first installed font in the list, and honors linespace.
In the layout view:
| Shortcut | Action |
|---|---|
| R | Rectangle tool |
| P | Polygon tool |
| S | Select mode |
| D | Dimension tool |
| Q | Edit the selected item |
| I | Place an instance |
| 0, 1, * | Draw the hierarchy as boxes, one level, or in full |
In the schematic view:
| Shortcut | Action |
|---|---|
| S | Select |
| R, Shift+R | Rotate or mirror the selection, or the element being placed |
| E | Descend into the selected instance |
| Shift+E | Return to the cell above |
| I | Place a schematic instance |
| M | Place a device |
| W | Wire |
| / | Flip the bend of the wire segment being drawn |
| P | Add a port |
| L | Add a net label |
| Q | Edit the selection's properties |
| Delete, Backspace | Delete the selection; in a drawing tool, Backspace drops the last click |
| Enter | End the wire being drawn at a new net label |
| Esc | Drop the wire being drawn, leave the tool, or clear the selection |
| Cmd+C, Cmd+V | Copy the selection; paste it at the pointer |
In the symbol view:
| Shortcut | Action |
|---|---|
| S | Select |
| L | Line |
| P | Polygon |
| R | Rectangle |
| C | Circle |
| A | Arc |
| T | Text |
| N | Pin, for the next port without one |
| Tab | Pick another port for the pin tool |
| X, Shift+X | Rotate or mirror the selection about its center |
| Q | Edit the selection's properties |
| Delete, Backspace | Delete the selection; in a drawing tool, Backspace drops the last click |
| Enter | Finish the line or polygon being drawn |
| Esc | Drop the shape being drawn, leave the tool, or clear the selection |
| Cmd+C, Cmd+V | Copy the selected items; paste them at the pointer |
Configuration
Argon reads $XDG_CONFIG_HOME/argon/config.toml, or ~/.config/argon/config.toml if that variable isn't set.
[gui]
dark_mode = true
hierarchy_depth = 3
icon_size = 20
font_size = 14
option_as_meta = false
[log]
level = "info"
[agent]
approval = "never"
font_size and icon_size are in logical pixels, from 1 to 256. On macOS, Option types characters such as ß in Neovim; set option_as_meta = true to send it as Meta (<M-…>) instead. On Linux, Alt always sends Meta. agent.approval is "never" or "always"; see Agents. After editing the file, run :Argon reload. To change a value for this session only, use :Argon set; to write the current settings back to disk, use :Argon saveConfig.
Troubleshooting
The open cell is invalid after a signature change
Press O and reopen it with arguments that match the new signature. Argon won't guess values for new parameters.
Something won't move
A solid edge or an existing dimension is already fixing that coordinate. An initial value can't override a constraint.
You need more detail on an error
Run :Argon diagnostics and :Argon log. For more, set log.level = "debug" and reload the configuration.
The GUI didn't start
If the window stays at "Starting the analyzer…", or the GUI doesn't open with --terminal, check that argon-analyzer and argone are on your PATH, the buffer's file ends in .ar, and the library has Argon.toml and lib.ar. With --terminal, then run :Argon gui.