Advanced editor features¶
Understand's editor does more than let you read code. This page collects the features that repay learning once — editing several lines at a time, marking up what you're studying, and moving without the mouse.
Every keystroke below is the default binding and can be changed. The full list lives in Tools → Options → Key Bindings (Understand → Preferences → Key Bindings on macOS), which is also where you search for a command by name. See Keyboard shortcuts for the reference table.
Edit several lines at once¶
Column (block) selection — hold Alt (Option on macOS) while dragging to select a rectangular region rather than whole lines. Type with that selection active and the text is inserted on every selected line, which is how you add a prefix to a run of lines or line up a column of assignments in one pass.
Multiple cursors — hold Ctrl (Cmd on macOS) and click in several places to put a caret at each one. Everything you type then appears at all of them. Useful when the edits aren't in a rectangle.
Keep more than one thing highlighted¶
Selecting an entity highlights its occurrences, but the highlight moves with your selection. A persistent highlight stays put, so you can mark several entities in different colors and compare how they flow through a function — up to six at once.
Assign a key to it first: in Key Bindings, search for highlight and give
Toggle Persistent Highlight a sequence (the two commands ship unbound so they don't take a
keystroke from something you use more).
| Command | Does |
|---|---|
| Toggle Persistent Highlight | Highlights the selected entity in the next color — or removes it if it's already highlighted |
| Clear Persistent Highlights | Removes all of them at once |
Each new highlight takes the next color in the series, so successive entities are visually distinct.
Highlighting an arbitrary range instead
Persistent highlights follow an entity. To colour a region of text that isn't an entity — say two related blocks of macro definitions — create a style under Tools → Options → Editor → Styles, give it a background colour, then right-click a selection and pick it from Apply User Style. Clear removes them again.
Line-manipulation macros¶
These act on the current line, so you don't have to select it first.
| Command | Default | Does |
|---|---|---|
| Cut Line | Ctrl+K |
Cuts the current line to the clipboard |
| Copy Line | Ctrl+Shift+T |
Copies the current line to the clipboard |
| Transpose Line | Ctrl+T |
Swaps the current line with the line above |
| Select Block | Ctrl+Shift+J |
Selects the current block |
| Go to Matching Brace | Ctrl+J |
Jumps to the matching token — the fastest way out of deeply nested code |
| Line Scroll Up / Down | Ctrl+Up / Ctrl+Down |
Scrolls the view one line without moving the cursor, to glance at nearby context and keep your place |
Move between open windows¶
With dozens of files open, the Window Selector beats hunting through tabs.
Ctrl+Tab/Ctrl+Shift+Tabstep to the next and previous document of the same type, so editors cycle among editors and graphs among graphs.- Check Sticky to keep the selector open. You can then type to filter the list —
.hnarrows it to headers — arrow to the one you want, and press Enter. - Window → Window Selector opens it as a dock, if you'd rather keep the list of open tabs permanently in view.
Spellcheck comments and strings¶
Understand spellchecks your comments by default, underlining suspect words with a squiggle. Right-click an underlined word to correct it or add it to your custom dictionary. Because Understand knows the entity names in the file, it treats those as words too — so identifiers don't get flagged.
To check string literals as well, turn on the strings squiggles under Tools → Options → Editor → Advanced, in the Spellcheck section (Preferences on macOS). Both comments and strings have their own toggle, so you can run either or both.