A high-performance terminal-based rich text editor designed for speed and functionality. It supports autosuggestions, undo/redo, and customizable shortcuts. The editor leverages advanced data structures to ensure smooth and efficient text editing.
- Autosuggestions: Real-time autocomplete powered by Trie.
- Undo/Redo: Stack-based undo/redo operation.
- GapBuffer Efficiency: Smooth editing and fast cursor movement.
- Custom Shortcuts: Bind frequently used actions for faster workflow.
- GapBuffer: For efficient text editing and cursor movement within a line.
- GapBufferLinkedList: Extends GapBuffer to support multi-line text editing.
- Trie: Powers the autosuggestion system for real-time word predictions.
- Stack: Implements undo/redo functionality.
- Install a Nerd Font for enhanced terminal visuals from nerdfonts.com.
- Clone the repository and build the project with C++14 support:
Ensure your compiler supports C++14.
git clone https://github.com/abdxdev/TerminalBasedRichTextEditor.git cd TerminalBasedRichTextEditor start TerminalBasedRichTextEditor.sln
- Launch the editor in a terminal supporting Nerd Fonts.
Note: You need to set the font in your terminal settings.
Ctrl+S
: Save fileESC
: Quit editor
Ctrl+Z
: UndoCtrl+Y
: RedoArrow Keys
: Move cursor
Tab
orEnter
: Apply suggestionEsc
: Dismiss suggestion
F1
: Change foreground colorF2
: Change background colorF3
: Toggle autosuggestionsF4
: Refresh screenF5
: Change cursor styleCtrl+B
: Toggle boldCtrl+I
: Toggle italicsCtrl+U
: Toggle underlineCtrl+T
: Toggle strikethrough
This project is licensed under the MIT License - see the LICENSE file for details.