Guide · Docs for v0.12

Editing

Cursors, selections, movement, find and replace, and what happens on save.

Rip is a plain text editor with the moves you expect, plus a few that come from its syntax tree. secondary means ⌘ on macOS and Ctrl on Linux.

Multiple cursors#

CommandDCtrl+D selects the word under the cursor. Press it again to add the next match. Once you have two matches, CommandK CommandDCtrl+K Ctrl+D drops the last one and takes the next instead. CommandShiftLCtrl+Shift+L selects every match at once.

CommandOption↑Ctrl+Alt+↑ and CommandOption↓Ctrl+Alt+↓ add a cursor on the line above or below. OptionShiftIAlt+Shift+I turns one selection into a cursor at the end of each of its lines. Hold altalt and click to add a cursor anywhere. ⎋Esc returns to one cursor.

Selection#

CommandLCtrl+L selects the line, and CommandACtrl+A selects the whole file. Option↑Alt+↑ grows the selection to the enclosing syntax node: a word, then an expression, then a block. Option↓Alt+↓ shrinks it again. Both need a language with a grammar. shiftshift with the arrow, word, line, and page movement keys extends the selection.

Movement#

Keys Moves
Option←Alt+← / Option→Alt+→ By word.
HomeHome / EndEnd To the start or the end of the line.
CommandHomeCtrl+Home / CommandEndCtrl+End To the start or the end of the file.
PgUpPgUp / PgDnPgDn By one screen.
Option]Alt+] / Option[Alt+[ To the next or the previous changed hunk.
ControlGCtrl+G To a line number.

On macOS, Command←Ctrl+← and Command→Ctrl+→ also jump to the ends of the line. Command↑Ctrl+↑ and Command↓Ctrl+↓ jump to the ends of the file. On Linux, those keys move by word and by paragraph instead.

To move the current line up or down, press ControlCommand↑Ctrl+Ctrl+↑ or ControlCommand↓Ctrl+Ctrl+↓ on macOS. On Linux, press ControlShift↑Ctrl+Shift+↑ or ControlShift↓Ctrl+Shift+↓.

Change text#

Keys What happens
CommandZCtrl+Z / CommandShiftZCtrl+Shift+Z Undo and redo.
CommandShiftDCtrl+Shift+D Duplicate the line.
CommandShiftKCtrl+Shift+K Delete the line.
ControlJCtrl+J Join the line with the next one.
Command/Ctrl+/ Comment or uncomment the selection, in languages with a line comment.
OptionShiftFAlt+Shift+F Prettify JSON in the selection, or the whole file when you select no text.
Command]Ctrl+] / Command[Ctrl+[ Indent or outdent.
Command↩Ctrl+Enter / CommandShift↩Ctrl+Shift+Enter Start a new line below or above.
Option⌫Alt+Backspace / Option⌦Alt+Delete Delete to the start or the end of the word.
Command⌫Ctrl+Backspace / Command⌦Ctrl+Delete Delete to the start or the end of the line.
OptionZAlt+Z Turn soft wrap on or off for this file.

Prettify JSON#

Press OptionShiftFAlt+Shift+F to format JSON with your indent and tab-size settings. You can also choose Prettify JSON from the Edit menu or command palette. The command works in any file, including an untitled tab.

Select a complete JSON value to format part of a file. With multiple selections, Rip formats each selected value. With no selection, Rip formats the whole file. One undo restores the text before formatting.

Rip preserves key order, number values, and string escapes. If any selected value is invalid JSON, Rip shows an error and leaves all text unchanged.

Find and replace#

CommandFCtrl+F opens the search bar. Type, and Rip highlights every match, up to 100,000. ↩Enter goes to the next match and Shift↩Shift+Enter to the previous one. From the editor, CommandGCtrl+G and CommandShiftGCtrl+Shift+G do the same on macOS, and F3F3 and ShiftF3Shift+F3 on Linux. ⎋Esc closes the bar.

CommandOptionFCtrl+Alt+F opens the replace field. Command↩Ctrl+Enter replaces the current match, and CommandOption↩Ctrl+Alt+Enter replaces every match the bar found. To search the folder's indexed text files, see Search and traces.

Save#

CommandSCtrl+S saves the file, and CommandShiftSCtrl+Shift+S saves it under a new name. CommandOptionSCtrl+Alt+S saves every open file that has a name. On save, Rip removes trailing whitespace and adds a final newline when the settings below say so.

A file can change on disk while you edit it. Rip merges the two versions and never writes over the change on disk. A deleted file is the exception: a save creates it again. Working with agents explains the merge and the keys for a conflict.

Settings#

Key What it changes
tab-size The width of a tab, and the size of one indent.
indent Whether ⇥Tab inserts spaces or a tab.
soft-wrap Whether long lines wrap at the window edge.
line-numbers Whether the gutter shows line numbers.
relative-line-numbers Whether line numbers count from the cursor.
cursor-blink Whether the cursor blinks.
show-whitespace When to draw spaces and tabs: never, always, or in a selection.
indent-guides Whether indent levels get a guide line.
trim-trailing-whitespace-on-save Remove spaces at the end of each line on save. Markdown files keep them, because two spaces end a line.
ensure-final-newline-on-save End the file with a newline on save.
© 2026 Xip KitFeaturesFAQsChangelogDocsLicensePrivacy