Skip to main content

Accessing Settings

Fresh provides multiple ways to configure settings:
Press Ctrl+, or use View → Settings… to open the visual settings editor.Settings are organized by category with search and inline documentation.

Display Settings

Control visual appearance of the editor:
config.json

Display Options

Cursor Styles

Available cursor styles:
  • "default" - Terminal default
  • "blinking_block" - Blinking block (█)
  • "steady_block" - Solid block
  • "blinking_bar" - Blinking vertical bar (│)
  • "steady_bar" - Solid vertical bar
  • "blinking_underline" - Blinking underline (_)
  • "steady_underline" - Solid underline

Whitespace Indicators

Control visibility of whitespace characters:
config.json
Per-language show_whitespace_tabs setting can override tab visibility for specific languages (e.g., disable for Go).

Editing Settings

Configure editing behavior:
config.json

Bracket Matching

Configure bracket highlighting:
config.json

Completion Settings

Configure auto-completion behavior:
config.json

Accept Suggestion on Enter

  • "on" - Enter always accepts completion
  • "off" - Enter inserts newline (use Tab to accept)
  • "smart" - Enter accepts only if completion differs from typed text

LSP Settings

Configure Language Server Protocol features:
config.json

Mouse Settings

Configure mouse behavior:
config.json

Auto-Save and Recovery

Configure file saving and recovery:
config.json
auto_save_enabled saves to the original file on disk. recovery_enabled saves to temporary recovery files for crash recovery.

Keyboard Enhancement

Configure advanced keyboard protocol features:
config.json
See Keyboard Configuration for details on the Kitty Keyboard Protocol.

Performance Settings

Optimize editor performance:
config.json

Large File Behavior

Files larger than large_file_threshold_bytes (1MB default) will:
  • Skip LSP features
  • Use constant-size scrollbar thumb
  • Use viewport-only parsing

File Explorer Settings

Configure the file tree sidebar:
config.json

Clipboard Settings

Configure clipboard behavior:
config.json
Disable use_osc52 if you experience clipboard hangs in certain terminals like PuTTY.

Terminal Settings

Configure integrated terminal:
config.json

Warning Notifications

Configure diagnostic warnings:
config.json

Package Manager Settings

Configure plugin and theme installation:
config.json

Per-Language Settings

Override settings per language:
config.json

Language Configuration

Formatter Configuration

On-Save Actions

LSP Server Configuration

Configure language servers:
config.json

LSP Configuration

Process Limits

Full Example Configuration

config.example.json

Next Steps

Keyboard Configuration

Customize keybindings and keymaps

Theme System

Built-in themes and color customization