Skip to main content

Welcome to Fresh!

This quick start guide will have you editing files in Fresh within minutes. Fresh is designed to be immediately familiar if you’ve used any modern text editor.
New to terminal editors? Don’t worry! Fresh works just like VS Code or Sublime Text. If you can use Ctrl+C to copy, you already know half of Fresh.

Installation

First, install Fresh using your preferred method:
curl https://raw.githubusercontent.com/sinelaw/fresh/refs/heads/master/scripts/install.sh | sh
See the Installation page for all available methods.

Your First File

Let’s open Fresh and create your first file!
1

Launch Fresh

Open your terminal and run:
fresh
You’ll see the Fresh editor with a clean, empty buffer. Welcome!
2

Type some text

Just start typing! Fresh has no modes — everything you type appears on screen.Try typing:
Hello, Fresh!
This is my first file in a terminal editor.
It's easier than I thought!
3

Save your file

Press Ctrl+S to save. Fresh will prompt you for a filename.Type:
hello.txt
Press Enter to confirm. Your file is saved!
4

Exit Fresh

Press Ctrl+Q to quit Fresh.
Fresh will warn you if you have unsaved changes — you’ll never accidentally lose work!

Opening Existing Files

You can open files in several ways:
fresh README.md
The file:line:col syntax is perfect for jumping to compiler errors or search results!

Essential Keyboard Shortcuts

Fresh uses standard keyboard shortcuts you already know:

File Operations

ShortcutAction
Ctrl+NNew file
Ctrl+OOpen file
Ctrl+SSave file
Ctrl+Shift+SSave as
Ctrl+WClose current buffer
Ctrl+QQuit Fresh

Editing

ShortcutAction
Ctrl+CCopy
Ctrl+XCut
Ctrl+VPaste
Ctrl+ZUndo
Ctrl+YRedo
Ctrl+/Toggle comment
TabIndent selection
Shift+TabDedent selection

Selection

ShortcutAction
Ctrl+ASelect all
Ctrl+WSelect word under cursor
Ctrl+LSelect current line
Ctrl+DSelect next occurrence (multi-cursor!)
Shift+ArrowExtend selection

Search & Navigation

ShortcutAction
Ctrl+FFind in current file
Ctrl+RReplace in current file
Ctrl+GGo to line number
Ctrl+PCommand Palette (most important!)
Platform Differences: Some keybindings may not work on all systems due to terminal limitations. Check the Keybindings Reference or use the command palette for alternatives.

The Command Palette

The Command Palette is your gateway to everything in Fresh. Press Ctrl+P to open it:
1

Open the Command Palette

Press Ctrl+P. You’ll see a search bar at the top of the screen.
2

Try different modes

The command palette has multiple modes, activated by prefix characters:
  • No prefix: Fuzzy file finder — search for files in your project
  • >: Command mode — search and run editor commands
  • #: Buffer switcher — switch between open files
  • :: Go to line — jump to a specific line number
The hints line at the bottom shows you which prefixes are available!
3

Find a file

With the command palette open, start typing a filename:
main.rs
Fresh will fuzzy-match files in your project. Press Enter to open the top result.
4

Run a command

Press Ctrl+P again, then type > to enter command mode:
>theme
You’ll see commands related to themes. Try “Select Theme” to browse available color schemes!
Pro tip: Space-separated terms match independently. Try searching for feat group — it will match features/groups/view.tsx!

Basic Editing Features

Let’s explore some of Fresh’s powerful editing features:

Multi-Cursor Editing

Edit multiple locations at once:
1

Create sample text

Type or paste this text:
const name = "Alice";
const name = "Bob";
const name = "Charlie";
2

Select the first 'name'

Place your cursor on the first name and press Ctrl+W to select it.
3

Add more cursors

Press Ctrl+D twice to add cursors at the next two occurrences of name.You should see three cursors now!
4

Edit all at once

Type username — all three instances of name change to username simultaneously!Press Esc to return to a single cursor.

Block Selection

Select rectangular regions:
1

Create a table

Name      Age    City
Alice     28     NYC
Bob       34     LA
Charlie   42     SF
2

Select a column

Position your cursor at the ‘A’ in “Age”.Hold Alt+Shift and press three times.You’ve selected the entire “Age” column!
3

Edit the selection

Type “Years” — the entire column header changes!

File Explorer

Browse your project files:
1

Open the file explorer

Press Ctrl+B to toggle the sidebar file explorer.
2

Navigate files

Use arrow keys to move up and down the file tree.Press Enter to open a file.
3

Focus the editor

Press Ctrl+E to switch focus between the file explorer and the editor.
The file explorer respects your .gitignore file automatically!

Split Views

View multiple files side by side:
1

Open a file

Open any file in Fresh.
2

Split the view

Press Ctrl+P, type >split, and select “Split Vertical” or “Split Horizontal”.
3

Navigate between splits

Use Ctrl+Arrow keys to move between split panes.
4

Close a split

Press Ctrl+W to close the current pane.

Working with Code

Syntax Highlighting

Fresh automatically detects file types and applies syntax highlighting. No configuration needed! Try opening files with these extensions:
  • .rs (Rust)
  • .js, .ts, .jsx, .tsx (JavaScript/TypeScript)
  • .py (Python)
  • .go (Go)
  • .c, .cpp, .h (C/C++)
  • And many more!

LSP (Language Server Protocol)

Fresh supports LSP for advanced IDE features:
1

Install a language server

For Rust, install rust-analyzer:
rustup component add rust-analyzer
For TypeScript/JavaScript:
npm install -g typescript typescript-language-server
2

Open a code file

fresh src/main.rs
Fresh automatically detects and starts the language server.
3

Use LSP features

  • Go to definition: Ctrl+Click on a symbol (or use the command palette)
  • Hover documentation: Mouse over a symbol
  • Autocomplete: Start typing — suggestions appear automatically
  • Diagnostics: Errors and warnings appear inline and in the diagnostics panel
  • Code actions: Press Ctrl+P and search for “code action”
See LSP Integration for complete configuration details.

Search and Replace

Find and replace text with ease:
1

Open search

Press Ctrl+F to open the search bar.
2

Search for text

Type your search query. Matches are highlighted immediately.Press F3 to jump to the next match, Shift+F3 for previous.
3

Replace text

Press Ctrl+R to open find and replace.Enter your replacement text and:
  • Press Enter to replace the current match
  • Use Ctrl+Alt+R for interactive replace (y/n/!/q for each match)

Customization

Change the Theme

1

Open theme selector

Press Ctrl+P, type >theme, and select “Select Theme”.
2

Browse themes

Use arrow keys to preview different themes instantly.
3

Apply a theme

Press Enter to apply your chosen theme.The theme is automatically saved to your config!
Popular themes include:
  • Dracula
  • Monokai
  • Solarized Dark/Light
  • One Dark
  • Gruvbox

Edit Settings

Fresh stores settings in a JSON file:
1

Open settings

Press Ctrl+P, type >settings, and select “Open Settings File”.
2

Edit settings

The config.json file opens. Try changing some settings:
{
  "theme": "dracula",
  "tab_width": 4,
  "insert_spaces": true,
  "line_numbers": true,
  "auto_save_enabled": true,
  "trim_trailing_whitespace_on_save": true
}
3

Save settings

Press Ctrl+S. Changes apply immediately!
See Configuration for all available settings.

Advanced Features

Once you’re comfortable with the basics, explore these powerful features:

Integrated Terminal

Run shell commands without leaving Fresh

Keyboard Macros

Record and replay sequences of keystrokes

Git Integration

Git grep, file finder, and status integration

Remote Editing

Edit files on remote servers via SSH

Bookmarks

Jump quickly between code locations

Plugins

Extend Fresh with TypeScript plugins

Getting Help

Press Ctrl+P, type >keybindings, and select “Open Keybinding Editor” to browse all available shortcuts interactively.Or see the Keybindings Reference.
Some keybindings may not work on all systems due to:
  • Terminal emulator limitations
  • OS-level keyboard shortcuts that intercept keys
  • Keyboard layout differences
Use the Command Palette (Ctrl+P) to access any command. See the Keyboard Configuration guide for customizing keybindings.
Press Ctrl+P, type >settings, and select “Open Settings File” to edit config.json directly.See Configuration for all available options.
Fresh stores configuration and data in:
  • Config: ~/.config/fresh/config.json (Linux/macOS)
  • Windows: %APPDATA%\fresh\config.json
  • Crash recovery: ~/.local/share/fresh/recovery/
Yes! Fresh is designed to handle multi-gigabyte files with minimal memory overhead. See the blog post on large file handling for details.

Next Steps

Now that you know the basics, dive deeper:

Editing Features

Master multi-cursor editing, block selection, and more

Command Palette

Learn all command palette modes and shortcuts

LSP Integration

Configure language servers for your languages

Configuration

Customize Fresh to match your workflow
Join the Fresh Discord to ask questions, share tips, and connect with the community!

Build docs developers (and LLMs) love