FastEditor Documentation

Learn the workflows that make FastEditor fast in daily work.

Comprehensive reference guide for fast text editing, large file investigation, CSV workflows, SQL queries, the dual-panel File Manager with FTP/FTPS, and visual Database Builder.

1. Introduction and Quick Start

FastEditor is a fast native desktop text editor for everyday editing, source code, logs, CSV files, Markdown documents, and large text files. It starts quickly, stays responsive, and does not require heavy runtimes such as Electron, .NET, or Java.

Core Philosophy

  • Fast Startup: Open the editor quickly and begin working without waiting for a large runtime to load.
  • Low Resource Usage: Keep memory use modest, even with multiple documents open.
  • Large-File Support: Work with anything from small notes to very large log files.

Command Palette

The Command Palette gives quick keyboard access to editor commands. Press Ctrl+Shift+P, type part of a command name, and press Enter to run it. The same commands are also available from the menus and toolbar where applicable.

Help Navigation Shortcuts (Browser Built-ins)

When reading this help, you can use standard browser shortcuts to move faster without touching the mouse.

HotkeyActionWhy It Matters for FastEditor
Ctrl + F (or /)Search the documentationThe fastest way to find a specific CLI flag or JSON key.
Ctrl + + / Ctrl + -Zoom in / zoom outImproves readability on any display, from 4K monitors to laptops.
Ctrl + 0Reset zoom to 100%Quickly returns the page to the default layout scale.
Alt + Left ArrowBackUseful after opening another section and wanting to return immediately.
Ctrl + W (or Ctrl + F4)Close help windowInstantly returns focus to the editor workflow.

Extra Keyboard Navigation in This Help

  • Vim-style: Press J or ] for the next section, and K or [ for the previous section in the sidebar order.
  • Numeric jump: Press Alt + 1 through Alt + 7 to jump directly to sections 1-7.

2. File Handling Modes (Core Concepts)

FastEditor uses different file handling modes to balance editing features, performance, and safety.

Normal Editing Mode

Most files open in normal editing mode. You can type, delete, paste, undo, redo, search, replace, and save as usual. Changes are kept in the editor until you save the document.

Large File Mode (Mapped Read-Only Mode)

Very large files may open in Mapped Read-Only Mode. In this mode FastEditor maps the file for efficient viewing and navigation without loading the whole file into editable memory.

Restrictions in Mapped Read-Only Mode

To protect performance and avoid unsafe edits, these restrictions apply in Mapped Read-Only Mode:

FeatureAvailability
Text Input & DeletionBLOCKED
Paste / Cut OperationsBLOCKED
Markdown Live PreviewBLOCKED
Live FilteringBLOCKED
Scrolling & NavigationAvailable
Standard Search & Find-in-FilesAvailable
Asynchronous Diff ViewAvailable

Recovery Snapshots

FastEditor can create temporary recovery snapshots for modified documents. If the application or system closes unexpectedly, the editor can offer to restore available recovery data on the next startup.

Text Transformation & Editing Tools

FastEditor provides built-in utilities for common text transformations:

  • Change Case: Transform the active selection via Edit > Change Case to UPPERCASE, lowercase, or Title Case (with full Unicode letter capitalization). If there is no selection, the command safely performs no operation.
  • Trim Trailing Whitespace: Remove unwanted spaces and tab characters from the ends of lines across the document or active selection via Edit > Trim Trailing Whitespace. You can also enable Trim Trailing Whitespace on Save in Settings > Preferences > General to automatically clean lines before saving.
  • Remove Duplicate Lines: Remove redundant identical lines from the entire file or active selection via Edit > Remove Duplicate Lines. Retains the first occurrence of each unique line while preserving original line break formats.

Tab Expansion, Indentation & Dedent

FastEditor provides full visual tab expansion and intuitive indentation controls:

  • Visual Tab Expansion: When Indent Style is set to Tabs, real tab characters (\t) visually expand to the configured tab stop width (Preferences > General > Tab size, default 4). This expansion is consistently maintained across text rendering, caret positioning, mouse clicking, and rectangular or stream selections.
  • Tab Indentation: Pressing Tab advances the caret or indents selected text to the next tab stop interval.
  • Dedent (Shift + Tab): Pressing Shift + Tab removes one indentation level (dedents) from the active line or from all lines intersecting the current selection, instead of inserting a tab character.

Indent Guides

FastEditor can display subtle vertical guide lines for leading indentation levels to visualize block hierarchies in structured documents (JSON, YAML, XML, SQL, and source code):

  • Toggle Indent Guides: Press Ctrl + Shift + I (or choose View > Indent Guides) to toggle guide lines on and off.
  • Word Wrap Support: Indent guides remain accurately positioned and aligned even when soft line wrapping (Word Wrap) is enabled.
  • Preferences: Toggle Show indent guides in Preferences > General to control the default state.

3. Special Formats (CSV, Parquet, NDJSON, Logs, Markdown)

FastEditor includes dedicated high-performance modes and viewers for structured tabular data, big data columnar formats, streaming logs, and Markdown.

CSV Mode (Grid View)

CSV mode displays delimited text as a high-speed tabular grid. FastEditor automatically detects common delimiters (comma, semicolon, tab, pipe) and uses virtualized rendering for instant scrolling across millions of rows. Direct text editing is paused in grid mode to preserve column structure.

Column sorting, column resizing and reordering, inline cell editing (F2), per-column filtering, freeze header, extended aggregate calculations (Average, Minimum, Maximum), and layout persistence via .femeta sidecars are included in FastEditor Core and accessible via toolbar buttons, menus, and shortcuts. Exporting filtered rows or query projections to a new file requires FastEditor Pro.

SQL Query Bar & Natural Language AI (NL→SQL)

Press Ctrl+Q (or choose CSV > SQL Query) to open the interactive SQL Query Bar at the bottom of the editor. Querying supports two modes:

  • In-Place Fast Filter (Core): Filter, project, and sort rows in place using standard SQL syntax: SELECT, WHERE (with =, !=, LIKE, IN, numeric comparisons), ORDER BY, and LIMIT.
  • Natural Language SQL Generation (Core): Click the [✨ AI] button on the SQL bar to generate queries from plain English descriptions (e.g. "show all active users in California with balance over 100"). FastEditor uses your local LLM (LM Studio, Ollama, vLLM) and supplies schema context and sample rows to produce accurate SQL without sending data to external cloud APIs.
  • AI Preview Popup: Inspect the generated SQL before execution. View detected table schema, model latency, and click Run Query, Insert to SQL Bar, or Edit Prompt.
  • AI Preferences: Configure your local model under Preferences > AI / Local LLM (Ctrl+,). Specify the endpoint URL (default: http://localhost:1234/v1), model identifier, temperature, custom system prompt, request timeout, and test your connection with Test Connection.

DuckDB Analytical SQL & Multi-Tab JOINs

When query complexity exceeds simple row filtering, FastEditor automatically routes the query to its embedded DuckDB analytical engine and opens the result in a new tab:

  • Aggregations & Grouping: Full support for GROUP BY, HAVING, and aggregate functions (COUNT, SUM, AVG, MIN, MAX, ROUND, ABS, CEIL, FLOOR, SQRT, POWER).
  • Scalar Functions: String, regex, date, and conditional functions (LOWER, UPPER, TRIM, LTRIM, RTRIM, LENGTH, SUBSTR, SUBSTRING, CONCAT, REPLACE, REGEXP_MATCHES, COALESCE, NULLIF, IFNULL, NVL, CAST, CASE/WHEN, STRPTIME, DATE_TRUNC, EXTRACT) are automatically executed in DuckDB.
  • Multi-Tab SQL JOINs: Join datasets across open tabs directly in SQL without manual export: SELECT * FROM current JOIN orders ON current.id = orders.user_id.
  • SQL Bar UX: Real-time syntax highlighting, persistent query history, named query bookmarks, column autocomplete (Ctrl+Space), and precise error highlighting.

Apache Parquet (.parquet) & NDJSON Grid

Open columnar big-data files with zero conversion steps:

  • Apache Parquet: Open .parquet files of any size. Column types (e.g. [INT64], [VARCHAR], [DOUBLE]) are displayed in headers, and rows are read in blocks as you scroll instead of loading the whole file into memory.
  • JSON Lines / NDJSON: Open streaming .jsonl and .ndjson files directly into a structured table with automatically inferred schemas and flattened nested properties.

Join CSV Files Wizard (Pro)

Use CSV > Join Files... to merge two CSV files on a shared key column using a step-by-step visual wizard. Select files, specify key columns, choose join type (Inner, Left, Right, or Full Outer), and customize column collision suffixes.

Live Tail (Log Monitoring)

Live Tail mode monitors log files actively written by background services. When new lines are appended, FastEditor streams updates smoothly with constant low memory usage. Toggle follow mode or pause scrolling at any time from the toolbar, View menu, or Command Palette to inspect past events.

Log Analysis & Multi-Log Correlation

When opening log files, FastEditor provides specialized analysis and correlation tools:

  • Severity Filtering: Filter lines instantly by severity presets: Errors only (Ctrl+Alt+E), Incidents (Ctrl+Alt+I), Production (Ctrl+Alt+P), or All Levels (Ctrl+Alt+A).
  • Multi-Log Timestamp Correlation: Correlate disparate log files from multiple open tabs or disk files into a single unified chronological stream (Log > Correlate Multiple Logs...). Multi-line stack traces stay cleanly attached to their parent timestamps.
  • Log Navigation: Jump directly to problem areas: Next / Previous Error (F8 / Shift+F8) and Next / Previous Warning (F9 / Shift+F9).
  • Log Analysis & Diagnostics Report: Generate comprehensive diagnostic dashboards (Log > Log Analysis & Diagnostics Report...) analyzing timestamp gaps, frequency spikes, recurring template patterns, and error distributions with Markdown/HTML export.

Markdown Preview

For Markdown files, FastEditor provides editor-only, split, and preview-only layouts. Use the View > Markdown menu, the toolbar buttons, the command palette, or Ctrl+Alt+1, Ctrl+Alt+2, and Ctrl+Alt+3 to switch layouts. Markdown preview is not available in mapped large-file mode, and very large Markdown sources are capped to keep the preview responsive.

4. Search, Filtering and Diff Engine

FastEditor includes high-performance tools for searching, replacing, filtering, and comparing data across files.

Find & Replace (PCRE2 Regular Expressions)

FastEditor uses native PCRE2-16 (Perl Compatible Regular Expressions) for fast, industrial-grade pattern matching with support for capture groups ($1, $2), lookarounds, and Unicode. Standard search shortcuts include:

HotkeyActionDescription
Ctrl + FFindOpens the Find bar to search for plain text or regular expressions.
Ctrl + HReplaceOpens the Replace bar for interactive single or batch replacements.
Ctrl + Shift + HReplace AllReplaces all matching occurrences across the document or target scope.
F3 / Shift + F3Find Next / PreviousJumps to the next or previous matching occurrence.
Ctrl + EnterApply Selected ResultApplies replacement to the currently selected search match.

Search Scopes & Line Ranges

Search and replace operations can target the entire file, the active selection, or a bounded line range. Use Set Line Range (Ctrl+L) and Clear Line Range (Ctrl+Shift+L) to constrain replacements to a specific line interval and prevent accidental edits elsewhere in the document.

Filter As You Type

Press Ctrl+Shift+F (or select Search > Filter-as-you-type) to isolate relevant lines in real time. As you type a pattern, non-matching lines are temporarily hidden from the view. Direct text editing is paused while filtering is active to keep the filtered view consistent.

Find-in-Files

Find-in-Files searches across directories without blocking the user interface. You can filter paths with include/exclude glob masks, inspect matches in a dedicated results panel, jump directly to target lines, and apply bulk replacements after reviewing changes.

Side-by-Side Diff

FastEditor can compare large files asynchronously and display a synchronized side-by-side diff (Tools > Diff > Side-by-Side Diff View... or Ctrl+Alt+D for Diff With File...). Use Next Hunk (F7) and Previous Hunk (Shift+F7) to navigate between changes.

Go to Line & Navigation

Press Ctrl + G (or choose Search > Go to Line...) to open the jump dialog. Enter any 1-based line number to instantly scroll the viewport and position the caret at the start of that line.

Bookmarks

FastEditor supports in-memory per-document line bookmarks with visual marker badges rendered directly in the line gutter:

HotkeyCommandDescription
Ctrl + F2Toggle BookmarkSets or clears a bookmark marker on the current line.
Alt + F2Next BookmarkJumps to the next bookmark in the file with wrap-around.
Alt + Shift + F2Previous BookmarkJumps to the previous bookmark in the file with wrap-around.
MenuClear All BookmarksRemoves all bookmarks from the active document (Edit > Bookmarks > Clear All Bookmarks).

5. Automation, Macros and Scripting

FastEditor provides built-in macro recording and an embedded JavaScript engine for automating repetitive editing workflows.

Macro Recording and Playback

HotkeyCommandDescription
Ctrl + Shift + RStart / Stop RecordingToggles macro recording mode for commands, caret movements, and text edits.
Ctrl + Shift + MPlay Last MacroReplays the most recently recorded macro sequence.
  • Macro Repeat: Use Tools > Macro > Set Macro Repeat... to execute a macro multiple times in succession.
  • Save & Load (.gmacro): Save macro recordings as .gmacro files and load them in future sessions via Save Macro... / Load Macro....
  • Macro Hotkeys: Assign custom keyboard shortcuts to saved macros via Tools > Macro > Set Macro Hotkey....

JavaScript Scripting & Macro Conversion (QuickJS-NG)

FastEditor embeds a fast QuickJS-NG (ES2023) engine, allowing users to write and run full JavaScript scripts to automate complex file transformations:

  • Convert Macro to Script: Select Tools > Macro > Show Last Macro as Script to immediately generate equivalent JavaScript code from your last recorded macro actions.
  • Run Scripts: Use Tools > Macro > Run Script... to execute JavaScript files against the active document.
  • Scripts Directory: Access your script library with Tools > Macro > Open Scripts Folder.
  • Assign Script Hotkeys: Bind frequently used JavaScript scripts to custom keyboard shortcuts with Tools > Macro > Assign Script Hotkey....

Plugins & Extensibility

FastEditor features a lightweight, sandboxed JavaScript plugin architecture to extend editor capabilities without native compilation:

  • Browse Plugin Catalog: Open Help > Open Plugin Catalog (or Tools > Plugins > Browse Plugin Catalog...) to discover and install plugins.
  • Custom Visual Highlighters: Install domain-specific visual line and gutter highlighters (e.g. security-cve-highlighter for instant CVE and security advisory detection).
  • Custom Exporters: Extend export dialogs and CLI pipelines with custom data formatters and streaming encoders.

6. Configuration Structure (settings.json)

FastEditor stores preferences and theme settings in a JSON configuration file named settings.json.

Location and Portability

The editor follows a "portable-first" logic:

  • Portable Mode: If settings.json is found in the same directory as the executable, it is used as the primary source of truth.
  • Standard Mode: Otherwise, the config is stored in %APPDATA%\FastEditor\settings.json on Windows or ~/.config/FastEditor/settings.json on Unix-like systems.

Key Configuration Groups

GroupDescription
EditorFont settings, wrap modes, tab stop widths, indent guide display, Markdown preview wrapping, and default Markdown mode.
ThemeVisual color definitions for the text canvas, line numbers, caret, selections, tabs, toolbar, command palette, CSV grid, diff viewer, and syntax tokens.
AILocal LLM configuration: EndpointUrl, ModelName, Temperature, TimeoutSec, ApiKey, and SystemPrompt.
recent_filesAn array of recently opened absolute file paths. Also stores favorite_files and sql_history.

7. File Manager

FastEditor includes a built-in, two-panel, Total Commander-style file manager for local filesystem management, remote FTP/FTPS operations, and directory synchronization. It offers keyboard-centric navigation, background transfers, conflict handling, and seamless integration with the editor and DB Builder.

Starting the File Manager

You can launch the File Manager using either of the following methods:

  • Tools Menu: Select Tools > File Manager (or press Ctrl+Shift+P and choose File Manager from the Command Palette).
  • Command Line: Start FastEditor with the mode switch: FastEditor.exe --mode=fm.

Panels and Navigation

The File Manager features two side-by-side file list panels (Left and Right). Each panel independently displays files and directories with columns for name, extension, size, and last modification timestamp.

  • Switch Active Panel: Press Tab to alternate focus between the left and right panels.
  • Open Directory / Run: Press Enter or double-click a folder to navigate into it. Selecting .. navigates to the parent directory. Pressing Backspace also navigates to the parent directory.
  • Drive & Connection Selector: Press Alt + F1 to change the drive or connection for the left panel, or Alt + F2 for the right panel. The popup menu lists all local and network drives as well as an FTP… entry for remote connections.
  • Selection: Press Insert or Space to select or deselect files and folders. Pressing Insert automatically advances the cursor to the next item.

Key Bar and Keyboard Shortcuts

The bottom key bar provides quick reference and one-click access to standard file operations:

HotkeyCommandDescription
F1HelpOpens the FastEditor Help documentation for the File Manager.
F3ViewOpens the highlighted file in FastEditor in read-only mode.
F4EditOpens the file in FastEditor for editing. SQLite database files open in DB Builder.
F5CopyCopies selected files and directories to the destination panel with background progress and collision handling.
F6MoveMoves selected files and directories to the opposite panel.
Shift + F6RenameRenames the highlighted item in place.
F7New FolderPrompts for a folder name and creates a new directory in the active panel.
F8DeleteDeletes selected files or folders to the Windows Recycle Bin (local only).
Shift + F8Permanent DeletePermanently deletes selected items without sending them to the Recycle Bin (after confirmation).
F10QuitExits the File Manager and returns to the editor or closes the window.
Alt + F1 / Alt + F2Drive / FTP ListOpens the drive and remote FTP connection selection menu for the left / right panel.
Alt + F7SearchOpens the advanced file search dialog across panels and subdirectories.
F2SynchronizeOpens the folder synchronization dialog (FastEditor Pro).
Ctrl + SQuick FilterToggles the active panel quick filter input box.
Ctrl + CCopy PathsCopies the full paths of selected items to the clipboard.
Ctrl + FFilter MaskSets a filename display filter mask (e.g. *.log or *.pbi;*.pb).
Ctrl + Shift + FDisconnect FTPDisconnects the active panel from the remote FTP server and returns it to its last local directory.
Ctrl + RRefreshRefreshes the active panel directory listing from disk or server.
Insert / SpaceSelect / DeselectToggles selection of the current item; Insert advances down one row.
TabSwitch PanelMoves focus between the left and right panels.

Quick-Search and File Masks

FastEditor makes finding files within large directories effortless:

  • Quick-Search: Start typing any alphanumeric characters while browsing a panel. The cursor immediately jumps to the first matching entry. Pressing Esc cancels quick-search.
  • Panel Filter Masks: Press Ctrl + F to apply a wildcard mask (e.g. *.txt or *.csv). Only matching files remain visible in the active panel. Use *.* or clear the mask to restore the full directory listing.

Advanced Search Options (Alt + F7)

Press Alt + F7 to open the multi-threaded File Search dialog. Capabilities include:

  • Name & Wildcards: Search by exact filename, extensions, or wildcard patterns across entire subfolder hierarchies.
  • Date and Size Constraints: Filter results by file modification date range and minimum/maximum byte size thresholds.
  • Content Search: Search for specific text strings or hex bytes inside files, with optional case sensitivity or PCRE2 regular expression pattern matching.
  • Direct Action: Jump directly to matched files in the panel, or view/edit matches instantly.

FTP & FTPS Remote Connections

FastEditor integrates high-performance remote FTP and FTPS connectivity powered by bundled libcurl:

  • Connection Profiles: Configure saved connection profiles with host, port, remote path, user credentials, and passive mode settings. Passwords are securely encrypted using Windows DPAPI.
  • FTPS / TLS Encryption: Full support for explicit FTPS (AUTH TLS) to ensure end-to-end encrypted control and data channels.
  • Certificate Trust & Verification: When connecting via FTPS to a server whose certificate cannot be verified, FastEditor prevents transmitting login credentials and presents an interactive Certificate Trust dialog. The certificate probe operates strictly at the TLS handshake layer—it never sends login credentials (PASS) and aborts immediately upon handshake completion. The dialog displays the Subject Common Name (CN), Issuer (including Organization), validity date range, Subject Alternative Names (SANs, formatted with one name per line), SHA-256 certificate fingerprint, and Subject Public Key Info (SPKI) pin. Three certificate states are distinguished:
    • Untrusted Issuer: The certificate is self-signed or signed by an untrusted Certificate Authority.
    • Hostname Mismatch: The certificate is signed by a valid, trusted CA, but does not cover the connection hostname (evaluated per RFC 6125 wildcard matching rules).
    • Undetermined: A pre-TLS network or transport error occurred before the certificate could be examined.
    The dialog provides four actions depending on the certificate state:
    • Trust this certificate (or Replace stored certificate): Pins the certificate's public key (SPKI SHA-256). For self-signed or untrusted-issuer certificates, it stores the pin and marks the profile to authenticate against the pinned key. If the server later changes or renews its cryptographic key, FastEditor detects the pin mismatch and re-prompts you before sending any credentials. This action is disabled when the certificate state is undetermined.
    • Don't verify hostname: Only enabled when the certificate chain is signed by a valid, trusted Certificate Authority but does not match the server's domain name (common in shared hosting). This waives domain name verification for that profile while strictly preserving CA chain validation. This option is disabled if the CA chain itself is invalid, expired, or undetermined.
    • Retry: Displayed and enabled when an undetermined network or connection error prevents certificate examination, allowing you to retry the connection probe immediately.
    • Cancel: Aborts the connection attempt immediately. No credentials (USER/PASS) are transmitted, and profile settings remain completely untouched.
  • Filename Encodings: Supports both standard UTF-8 and legacy CP1251 (Cyrillic) server encodings, preventing garbled filenames when communicating with legacy systems.
  • Background Transfers & Resume: Uploads and downloads run asynchronously with real-time transfer progress, speed metrics, cancel controls, and automatic resume of partially transferred files.

Folder Synchronization (FastEditor Pro)

Press Ctrl + S to open the bidirectional Folder Synchronization tool between the two panels (Local ↔ Local or Local ↔ FTP):

  • Comprehensive Comparison: Compares directory trees by relative path, exact size, and high-precision timestamps (with a 2-second tolerance window to account for FAT/FTP time step differences). Files are classified into Left Only, Right Only, Newer Left, Newer Right, Equal, or Different.
  • Mandatory Preview: Before any file operations take place, an interactive preview table displays every file difference, source/target timestamps, file sizes, and proposed copy direction arrows (, , or skip).
  • Interactive Controls: Filter the diff table by class, toggle all or individual items, and reverse sync directions per item.
  • Delete Synchronized Files: An optional Deletes checkbox allows removing orphaned destination files. For safety, this requires explicit confirmation before execution.

Crash Recovery & Cleanup Notices

FastEditor protects against data corruption during transfer or synchronization interruptions:

  • Staging & Directory Sweeps: In-flight transfers stage through temporary files in the staging directory (xfer_*.tmp) before being committed to the destination on completion. Orphaned staging files from interrupted sessions are cleaned up automatically via directory sweep.
  • Crash Recovery & Cleanup: Active transfer operations maintain state in a crash journal folder (%APPDATA%\FastEditor\fm_journal\). If the application is closed abruptly during a transfer, FastEditor detects unfinalized operations on next startup, automatically removes incomplete local destination files while leaving source files intact, and displays a recovery notice summarizing the cleaned items.
File Manager Limitations:
  • No Elevation / UAC: The File Manager runs under standard user privileges. Modifying protected system directories (such as C:\Windows or C:\Program Files) will fail gracefully with an access error rather than triggering a UAC elevation prompt.
  • No FXP (Site-to-Site): Direct transfer between two remote FTP servers (FXP) is not supported. Remote operations require one panel to be a local filesystem path.
  • No Archive Browsing: Compressed archives (.zip, .tar, .7z) are treated as standard files and cannot be browsed as virtual folders inside the panels.
  • No Remote Recycle Bin: Deleting files or folders on an FTP server is permanent; the Windows Recycle Bin is only available for local filesystem deletions.
  • Remote File Viewing / Editing (F3 / F4): Viewing (F3) and editing (F4) are restricted to local filesystem panels. Remote FTP/FTPS files cannot be directly opened in the editor without first downloading or staging them to a local panel.

8. Database Builder

Database Builder is a built-in visual database environment for SQLite files. It provides spreadsheet and card layouts, visual table and relationship design, multi-request find queries, calculated fields, automation scripts, and paginated report printing.

Opening Database Builder

You can open Database Builder from within FastEditor or directly from the command line:

  • Tools Menu: Select Tools > Database Builder... from the editor window.
  • File Manager: Press Enter or F4 on any .sqlite or .db file containing a Database Builder metadata marker.
  • Command Line: Launch FastEditor.exe --mode=db to open an empty workspace, or FastEditor.exe --demo to open the bundled demonstration database. You can also pass a SQLite database path as an argument.

View Modes

Database Builder provides three view modes for working with tables:

  • Grid View: Displays table records in a spreadsheet grid with inline editing, resizable columns, sortable headers, and cell-level keyboard navigation.
  • Form View: Displays records as visual cards. Supports text inputs, multi-line notes, date pickers, dropdown lists, foreign-key lookups, portals, and media attachment boxes. When a table's active layout is configured as a List layout, Form View displays a continuous vertical scrolling list with repeated record rows.
  • Toggle View Mode (Ctrl+T): Toggles between Grid View and Form View. When toggling into Form View for a table with a List layout, the continuous list is shown; toggling back to Grid View preserves your selected row.
  • Layout Designer (Ctrl+L): A visual editor for arranging form layouts. Select, drag, resize, align, group, and adjust the stacking order of form widgets.

Creating Tables and Fields

To design or modify table schemas, select Table > Edit Schema... (Ctrl+Shift+S). The Table Schema dialog offers four SQLite column storage types:

  • TEXT: Used for general text, notes, and ISO 8601 date/time values (such as 2026-09-20 14:30:00). Because SQLite does not have native date storage types, dates and timestamps are stored and queried as text.
  • INTEGER: Used for whole numbers, auto-increment primary keys, and boolean values (stored as 0 or 1).
  • REAL: Used for floating-point numeric and monetary decimal values.
  • BLOB: Used for binary media files and documents managed by the attachment engine.
  • Serial Numbering: Configure automatic prefixing (such as INV-) and increment values for record numbering.

Managing Records

Use standard menu actions and keyboard shortcuts to navigate and edit table records:

  • New Record: Press Ctrl+N to append a new blank record to the active table.
  • Duplicate Record: Press Ctrl+D to duplicate the selected record and its column values.
  • Delete Record: Press Ctrl+Del to delete the active record. A confirmation dialog appears before removal.
  • Commit Edits: Press Ctrl+Enter to save staged field modifications to the database file.
  • Revert Edits: Press Esc to discard changes to the active field, or press Esc again to restore the entire record to its saved state.

Find Mode

Find Mode provides form-based record querying without writing SQL statements. Press Ctrl+F to switch the form into search criteria entry mode.

Type matching criteria into any field. Supported search operators include:

OperatorMeaningExample
=Exact match=California
<, >Less than, Greater than> 500
<=, >=Less than or equal, Greater than or equal<= 100
..Range between two values2026-01-01..2026-06-30
*Zero or more characters (wildcard)*corp*

Press Ctrl+N while in Find Mode to add additional find requests (combined using logical OR). Press Enter to execute the search, or press Esc to cancel and restore all records.

Relationships and Portals

Select Table > Relationship Graph... (Ctrl+Shift+R) to create visual connections between tables:

  • Foreign Key Joins: Link a parent table's primary key to a child table's foreign key column.
  • Cascade Deletion: Optionally configure child records to delete automatically when the parent record is deleted.
  • Portals: Embed child tables directly inside parent form cards. For example, an order form can display an embedded list of related line items. Use F6 to cycle keyboard focus between the parent form and the child portal.

Value Lists, Validation, and Formatting

Select Table > Field Options... (Shift+F2) to configure automated field behavior:

  • Value Lists: Attach predefined choice lists or dynamic column queries to text fields, rendering them as selectable dropdown combos.
  • Auto-Enter: Automatically populate fields on record creation or modification with timestamps, account names, serial numbers, or calculation expressions.
  • Validation: Enforce data integrity with mandatory non-empty rules, unique constraints, numeric ranges (min..max), value list membership, and custom calculation expressions. Set custom alert messages when validation fails.
  • Conditional Formatting: Define rules that apply custom text colors or background highlights when cell values satisfy specified conditions.

Global Variables

Database Builder supports session-scoped and file-persisted global variables prefixed with $ (such as $CurrentTaxRate). Manage variables through the Globals dialog or set them in scripts. Global variables are accessible across layouts and calculations, but cannot be used in table-level SQL-generated columns.

Script Builder and Debugger

Database Builder includes an integrated visual script engine and debugger:

  • Script Builder (Shift+F4): Construct sequential automation routines from action steps including navigation, record creation, field assignment, conditional checks (If/Else), loops, and user dialog prompts.
  • Script Debugger (Shift+F5): Step through scripts line-by-line, set breakpoints, and view real-time values of local variables ($var) and global variables ($var).

Data Import and Export

Import and export records without manual SQL commands:

  • Import (Ctrl+I): Import records from CSV or tab-delimited files. A column mapping dialog matches incoming file fields with existing database columns.
  • Clone and Compact: Use File > Save a Clone... to export a copy containing schema, layouts, and scripts with all record data emptied. Use File > Save a Compacted Copy... to execute a database compaction and rebuild file indices.

Reports and Mailing Labels

Create printable reports and adhesive mailing labels:

  • Report Designer (Shift+F6): Design banded layouts containing title headers, page headers, body data bands, group summaries, and page footers.
  • Report Viewer (Shift+F7): Preview paginated report pages on screen with page navigation and zoom controls.
  • Label Designer (Shift+F8): Lay out multi-column adhesive label sheets matching standard commercial paper dimensions.
  • Export and Print (Pro): Exporting reports to PDF files (using the Export PDF... button in the Report Viewer toolbar) and sending pages to physical printers (using the Print... button) require a commercial FastEditor Pro license. Viewing reports on screen is included in FastEditor Core.

Attachments and Media

Columns declared as Attachment (or SQLite BLOB) store binary documents, images, and files directly within the database. The form displays embedded image thumbnails. Double-clicking an attachment opens it in the default system viewer, and right-clicking allows saving a copy to disk.

Walkthrough: Exploring the Demo Database

FastEditor includes a pre-built demonstration database showcasing relational tables, forms, portals, reports, and scripts. Follow these steps to explore it:

  1. Open the Demo: Select File > Open Demo Database (or run FastEditor.exe --demo from the terminal). FastEditor creates a safe working copy in your temporary directory so you can edit freely without altering the original template.
  2. Browse Contacts in Grid View: The window opens displaying the contacts table (25 records) in Grid View. Click on column headers to sort by name, company, or date added.
  3. Switch to Form View: Press Ctrl+T. The display switches to Contacts Form, rendering each customer as a record card with contact details. Click Next or press Return to browse records.
  4. Inspect Orders and Portals: Select Invoices & Orders from the table selector dropdown at the top left. The form shows order headers (60 records) with customer links and order totals. The portal at the bottom displays related items for each invoice. Press F6 to cycle focus into the portal.
  5. Perform a Find Query: Press Ctrl+F to enter Find Mode. Click the Status field, type Pending, and press Enter. The found set updates to show only pending orders. Press Esc to restore the full record set.
  6. View Order Line Items and Photos: Select Order Items from the table selector. This table contains 180 records with embedded product photos stored in the database. Double-click a photo thumbnail to open it in your system image viewer.
  7. Preview Reports: Press Shift+F7 to open the Report Viewer. Preview the pre-configured Invoice Line-Item Report or Orders Summary Report with calculated column totals. (Exporting to PDF via Export PDF... or printing to paper via Print... requires FastEditor Pro).
  8. Inspect Automation Scripts: Press Shift+F4 to open the Script Builder and inspect the pre-configured automation scripts (Demo_Child_Audit and Demo_M4_Master).
  9. Open Layout Designer: Press Ctrl+L from Form View to open the visual Layout Designer for the form layout. Inspect how fields and portal containers are arranged, then press Ctrl+L again to return to data editing.

Database Builder Keyboard Shortcuts

HotkeyCommandAction
Ctrl + OOpen DatabaseOpen an existing SQLite database file.
Ctrl + WClose DatabaseClose the currently active database and return to an empty workspace.
Ctrl + TToggle View ModeSwitch between Grid View and Form View.
Ctrl + LLayout DesignerToggle between the visual Layout Designer and Form View.
Ctrl + NNew RecordCreate a new record in the active table, or add a request in Find Mode.
Ctrl + DDuplicate RecordDuplicate the currently selected record and its data.
Ctrl + DelDelete RecordDelete the active record after confirmation.
Ctrl + EnterCommit RecordSave staged field changes to the database.
EscRevert RecordDiscard active field edits, restore record data, or exit Find Mode.
Ctrl + FFind ModeSwitch Form View into multi-criteria query mode.
F6Cycle PaneMove keyboard focus between parent form controls and child portals.
Shift + F2Field OptionsOpen options, validation, and auto-enter settings for the selected column.
Ctrl + Shift + SEdit SchemaOpen Table Designer to add tables or alter columns.
Ctrl + Shift + RRelationship GraphOpen visual relationship and foreign key diagram editor.
Shift + F4Script BuilderOpen the visual automation script builder dialog.
Shift + F5Script DebuggerOpen interactive script breakpoint and variable debugger.
Shift + F6Report DesignerOpen the banded visual report designer.
Shift + F7Report ViewerOpen on-screen report preview.
Shift + F8Label DesignerOpen adhesive label layout designer.
Ctrl + IImport RecordsImport rows from a CSV or tab-delimited file.
F1HelpOpen FastEditor Help to the Database Builder section.

9. Command-Line Interface (CLI)

FastEditor provides a headless command-line interface for tabular data transformations, queries, format conversions, log reporting, and automated text pipelines.

General Invocation

Invoke FastEditor CLI commands from PowerShell, Windows Command Prompt, or terminal scripts using the following syntax:

FastEditor.exe <command> [options] [--in <file>] [--out <file>]

When --out is omitted, output writes to standard output (stdout). Use --in - to read input from standard input (stdin) when piping commands.

Command Reference

CommandDescriptionKey Options
--convertConvert between CSV, TSV, JSONL, Parquet, Markdown, SQL INSERT, and XLSX formats. (Pro license required for files over 50 MB).--format <fmt>, --encoding <enc>, --delimiter <d>, --parquet-infer-types
--sql <query>Execute analytical or filter SQL queries against tabular input files. (Pro license required for files over 50 MB).--format <fmt>, --limit <N>
--joinJoin two datasets on key columns. (Pro license required for files over 50 MB).--file2 <f2>, --on <col1=col2>, --type inner|left|right|full
--diffCompare two tabular datasets side-by-side on key columns. (Pro license required for files over 50 MB).--file2 <f2>, --format <fmt>
--filter <regex>Filter rows by regular expression pattern or column value in constant memory.--column <col>, --invert, --limit <N>
--stream-replacePerform streaming find-and-replace transformations.--pattern <find>, --replace-pattern <repl>
--splitSplit large files into chunks by line count, file size, or unique column values.--lines <N>, --size <MB>, --by-col <col>, --out-dir <dir>
--mergeMerge multiple text or delimited files into a single destination file.--schema-mode strict|union, --header, --no-header
--log-reportAnalyze log files and generate statistical reports covering log levels, time spans, and error clusters.--time-col <col>, --json
--correlate-logsMerge and correlate timestamps across multiple log files into a chronological stream.--time-col <col>, --format <fmt>
--script <file.js>Execute headless automation scripts using the embedded QuickJS JavaScript engine. (Pro license required for input files over 50 MB when --in is supplied).--args "<parameters>"
--helpDisplay command-line summary and supported options.-h
--versionDisplay CLI contract version.-v

Global Options

OptionShortDescription
--in <file>-iInput file path. Specify - to read from standard input.
--out <file>-oOutput file path. Defaults to standard output if omitted.
--format <fmt>-fData format: csv, tsv, jsonl, parquet, markdown, sql, or xlsx.
--encoding <enc>-eText character encoding: utf-8, utf-16le, cp1251, latin1, or ascii.
--delimiter <c>-dField delimiter character for delimited text (such as ,, \t, or ;).
--limit <N>-nStop processing after outputting N data rows.
--quiet-qSuppress informational progress messages to stderr.
--jsonOutput structured machine-readable JSON status and metrics envelope.
--license-key <k>Commercial FastEditor Pro license key for processing files larger than 50 MB.
--license-file <p>Path to activated license container file.

GUI Launch Switches

The following switches control graphical interface startup behavior:

  • --mode=db: Launch directly into Database Builder mode.
  • --mode=fm: Launch directly into dual-pane File Manager mode.
  • --mode=editor: Force standard text editor mode.
  • --demo: Launch Database Builder and open the bundled demonstration database.
  • --view <file>: Open the specified file in read-only view mode.
  • --tail <file>: Open the specified file in live-tail follow mode.

Process Exit Codes

FastEditor CLI returns deterministic process exit codes for script and CI pipeline branching:

Exit CodeNameMeaning
0SuccessThe operation completed successfully.
1Runtime ErrorExecution failed due to missing file, I/O error, or query syntax failure.
2Invalid UsageInvalid arguments, missing required options, or unrecognized flag.
3License LimitThe input file exceeds 50 MB on a command that requires FastEditor Pro.

Worked Examples

The following examples demonstrate common automated command-line workflows:

Example 1: Converting CSV to Markdown Table

FastEditor.exe --convert --in test_sample.csv --format markdown

Output:

| Name | Age | City |
| :--- | :--- | :--- |
| Alice | 30 | London |
| Bob | 25 | Paris |
| Carol | 35 | Berlin |

Example 2: Filtering Rows by Regular Expression

FastEditor.exe --filter "Berlin|London" --in test_sample.csv

Output:

Alice,30,London
Carol,35,Berlin

Example 3: Running Analytical SQL with JSON Telemetry

FastEditor.exe --sql "SELECT Name, City FROM active_table WHERE Age > 28" --in test_sample.csv --format csv --json

Output:

Name,City
Alice,London
Carol,Berlin
{
  "version": "1.0",
  "command": "sql",
  "status": "success",
  "exit_code": 0,
  "metrics": {"elapsed_ms": 18},
  "warnings": [],
  "errors": []
}

10. Known Limitations

This section summarizes known technical limitations, operating system boundaries, and architectural constraints across FastEditor features.

File Manager Constraints

Database Builder Constraints

  • In Database Builder, DATE and TIME column values are stored internally as ISO 8601 text strings because SQLite does not have dedicated date or time storage types.
  • Cross-table calculated fields in Database Builder cannot be searched or filtered in Find Mode queries.
  • Global variables ($name) and system variables (@name) cannot be used in table-level SQL-generated column calculation expressions.
  • Printing reports or label layouts on paper dimensions smaller than the layout scales output to fit the printable area, but physical printer hardware margins may clip outer borders.

CLI Constraints

  • Headless CLI commands for format conversion, analytical SQL, tabular joins, tabular diffs, and scripts when supplied with an input file require a FastEditor Pro license when input files exceed 50 MB (--convert, --sql, --join, --diff, and --script --in <file>).