Basic Navigation
Cursor Movement
Navigate through your code with these essential shortcuts:| Shortcut | Action |
|---|---|
← → ↑ ↓ | Move cursor by character/line |
Ctrl+← / Ctrl+→ | Move by word |
Home | Toggle between first non-whitespace character and column 0 |
End | Move to end of line |
Ctrl+Home | Move to start of document |
Ctrl+End | Move to end of document |
PgUp / PgDn | Move up/down by page |
Go to Line
Jump directly to any line number:Position History
Fresh automatically tracks your cursor positions as you navigate and edit, allowing you to move backward and forward through your navigation history — similar to a web browser.| Shortcut | Action |
|---|---|
Alt+← | Navigate back in history |
Alt+→ | Navigate forward in history |
How Position History Works
When is a position recorded?
When is a position recorded?
Fresh records your position in these scenarios:
- When you jump to a different location (go to definition, search results, etc.)
- When you move more than a few lines away from your current position
- When you switch to a different file
- When you make an edit
Position history works across files — you can navigate back to a position in a different file.
Bookmarks
Set bookmarks to quickly jump between important locations in your code:| Shortcut | Action |
|---|---|
Ctrl+Shift+0-9 | Set bookmark 0-9 at current position |
Alt+0-9 | Jump to bookmark 0-9 |
Bookmark Workflow
Advanced Bookmark Commands
Access these from the command palette (Ctrl+P):
Set Bookmark
Set a bookmark at the current cursor position (prompts for 0-9)
Jump to Bookmark
Jump to a previously set bookmark (prompts for 0-9)
List Bookmarks
View all bookmarks across all open files
Bookmarks are saved in your workspace session and persist when you close and reopen Fresh.
Bracket Navigation
Quickly jump between matching brackets, braces, and parentheses:Error Navigation
When working with LSP-enabled languages, quickly jump between errors and diagnostics:| Shortcut | Action |
|---|---|
F8 | Jump to next error/diagnostic |
Shift+F8 | Jump to previous error/diagnostic |
Error navigation requires an active LSP server. See the LSP Configuration guide for setup instructions.
Large File Navigation
Fresh handles large files (multi-gigabyte) with minimal memory overhead. When you open a large file, Fresh shows byte offsets instead of line numbers for performance.Working with Large Files
Scan for line numbers (optional)
If you need exact line numbers, use “Go to Line” from the command palette — Fresh will offer to scan the file
Split Views
Work with multiple files (or the same file) side-by-side:Split View Commands
All split commands are available from the command palette (Ctrl+P):
Split Vertical
Create a vertical split (side-by-side panes)
Split Horizontal
Create a horizontal split (top and bottom panes)
Next Split
Move focus to the next split pane
Previous Split
Move focus to the previous split pane
Close Split
Close the current split pane
Toggle Maximize
Maximize/restore the current split pane
Split View Workflow
Scroll Sync
When viewing the same buffer in multiple splits, you can synchronize scrolling:Scroll sync only works when the same buffer is open in multiple splits. Each split maintains its own cursor and fold state.
LSP-Powered Navigation
When working with LSP-enabled languages, you get IDE-level navigation:Go to Definition
Jump to where a symbol is defined
Find References
Find all usages of a symbol
Go to Type Definition
Jump to the type definition of a symbol
Go to Implementation
Find implementations of an interface or trait
LSP navigation requires a language server. See LSP Configuration for supported languages and setup.
Fuzzy Finding
Quickly find and open files with fuzzy matching:
See the Command Palette guide for more details.
File Explorer Navigation
Browse your project structure with the built-in file explorer:| Shortcut | Action |
|---|---|
Ctrl+B | Toggle file explorer visibility |
Ctrl+E | Switch focus between file explorer and editor |
↑ / ↓ | Navigate up/down in file tree |
Enter | Open selected file (keeps focus on explorer) |
| Double-click | Open file and focus editor |
The file explorer respects your
.gitignore file by default. Use “Toggle Gitignored Files” from the command palette to show ignored files.Navigation Tips
Combine navigation methods for efficiency
Combine navigation methods for efficiency
Use splits for reference
Use splits for reference
Open documentation or related code in a split while working in the main pane. This is especially useful when implementing interfaces or following patterns from existing code.
Leverage fuzzy finding
Leverage fuzzy finding
The fuzzy file finder (
Ctrl+P) is often faster than navigating the file tree. Just type a few characters of the filename.Related Documentation
Command Palette
Quick access to all commands and files
File Explorer
Browse your project structure
LSP Features
IDE-level code intelligence