A modern, terminal-based code editor specifically designed for C++ programming, combining the power of VIM-like controls with intelligent code suggestions and snippets.
- Clean, minimalist terminal UI with syntax highlighting
- Real-time clock display
- Mode indicator (Normal/Insert/Command)
- Customizable color scheme optimized for coding
- Modal editing with Normal, Insert, and Command modes
- Familiar VIM navigation (h,j,k,l)
- Command mode operations (:w, :q, :wq)
- Efficient cursor movement and text manipulation
- Auto-completion for brackets and parentheses
- Intelligent code suggestions for:
- C++ keywords
- Custom snippets
- Context-aware completions
- Tab-trigger completion system
Built-in snippets for common C++ patterns:
fio1: Basic fast I/O setupfio2: Buffered input optimizationfio3: Complete FastIO class implementation
- Sorting:
bubblesort: Bubble Sort implementationmergesort: Merge Sort implementationquicksort: Quick Sort implementationheapsort: Heap Sort implementation
- Searching:
binarysearch: Binary Search implementationlowerbound: Lower Bound implementation
dsu: Disjoint Set Union implementationsegtree: Segment Tree implementation
dfs: Depth First Searchbfs: Breadth First Searchdijkstra: Dijkstra's Shortest Path
- Open files directly from command line
- Save files with :w command
- Automatic file backup (coming soon)
git clone https://github.com/your-username/vim4cpp.git
cd vim4cpp
cargo build --release
cargo run --release
i: Enter Insert modeEsc: Return to Normal mode:w: Save file:q: Quit:wqor:x: Save and quit
h: Move leftj: Move downk: Move upl: Move right
- Type at least 2 characters to trigger suggestions
- Use
Tabto cycle through suggestions - Press
Enterto accept suggestion
-
Enhanced Language Support
- Extended C++ syntax highlighting
- Support for other languages (Python, Rust, etc.)
- Language-specific snippets
-
IDE-like Features
- Integrated terminal
- Build system integration
- Error highlighting
- Jump to definition
-
Customization
- User-defined snippets
- Configurable keybindings
- Theme customization
- Plugin system
-
Advanced Features
- Split window support
- Integrated Git support
- Code folding
- Multiple cursors
-
Performance Optimizations
- Improved file handling for large files
- Async operations
- Memory optimization
- Build a plugin ecosystem
- Create a snippet marketplace
- Develop language server protocol support
- Implement remote development capabilities
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.