Rectangular selection,
and a column editor that counts for you.

Column mode is the feature Notepad++ users miss first on a Mac, and it is the one most editors implement halfway: a selection you can copy but not type into. Here it is an editing mode, and the numbering half of it is a dialog rather than a trick with regular expressions.

Studio 1.6.1 · macOS 14+6.8 MB download

The two halves: the selection, and the sequence.

One is a way of selecting; the other is a way of filling what you selected. They are useful separately, which is why they are separate.

01

⌥-drag selects a rectangle

The same character columns on every line the drag crosses, rather than everything between two points in the text.

02

Or make it a mode instead of a gesture

The titlebar toolbar carries a column-selection switch, so the behaviour is discoverable without being told about a modifier. It turns itself off rather than surviving a relaunch.

03

Typing applies to every line

And so does backspace. The whole rectangle changes as one undoable edit, so ⌘Z takes back the column rather than the last line of it.

04

The Column Editor inserts a sequence

⌥⌘C, or Edit ▸ Column Editor…: put the same text down the column, or a number sequence with a start, a step, and a base.

05

Decimal, hex or octal, with padding

A sequence can be written in base 10, 16 or 8, and zero-padded to a fixed width — which is what turns a column of blanks into id_001 through id_064 in one action.

06

It works with the other line tools

Duplicate, move, join, sort, deduplicate and remove-empty-lines operate on the same selection, and comment toggling uses each language’s own comment tokens.

What the Column Editor can put down a column.

Chosen in a dialog, applied as one edit, and undone as one edit.

OptionWhat it does
TextThe same string on every line of the selection.
NumberA sequence with an initial value and an increment.
BaseDecimal, hexadecimal or octal output.
Leading zerosPads each value to a fixed width.

Read from the Linelark Studio 1.6.1 source, not from its documentation. Where the two disagree, this is the one that ships.

Where the rectangle stops being a rectangle.

Column selection is a character-grid idea living inside a text view, and the seams show in two specific places.

  • Columns are counted in charactersWhich is exactly right in a monospaced font and drifts in a proportional one. Use the editor’s monospaced fonts if you rely on this.
  • A tab is one character, not a tab stopA region mixing tabs and spaces will not line up on screen the way the column count says it does. Convert the indentation first.
  • It is column selection, not multiple cursorsThere is no way to place independent carets at arbitrary points and type at all of them. The rectangle is the only multi-line editing shape.
  • Lines shorter than the rectangleA line that ends before the selected columns has nothing selected on it, so an insertion has no place to land there.

Open it on
your own files.

Apple-notarized, macOS 14 and newer, Intel and Apple silicon.

Download Studio 1.6.1 6.8 MB · every version, with checksums