Skip to content

fatmaayad13/vimulator-txt-editor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Terminal Text Editor (C + ncurses)

A lightweight, Vim-inspired terminal text editor written in C using the ncurses library. Built from scratch to explore low-level systems programming, terminal rendering, and text manipulation.

Features

Core Functionality

  • Insert mode (i)
  • Save file (:w)
  • Quit (:q)
  • Arrow-key scrolling
  • Status banner showing filename, row, and column
  • Forward search (/pattern)
  • Navigate search results (n, p)

Additional Features

  • Line numbers (:set number)
  • Jump to end of file (G)
  • Spell-check highlighting using a dictionary file

Requirements

  • GCC or Clang
  • ncurses

Run on terminal: ./myeditor example.txt

Design Notes

  1. Text is stored as a dynamically allocated array of strings
  2. Scrolling handled via row/column offsets
  3. Spell-checking implemented with binary search over a sorted dictionary
  4. Rendering optimized using ncurses color pairs

Future Improvements

  1. Horizontal scrolling refinement
  2. Undo/redo
  3. Better word tokenization
  4. File open/create from editor

Built With:

  • C
  • ncurses

About

A Vim-inspired terminal text editor written in C using ncurses, featuring insert mode, search, scrolling, line numbers, and spell highlighting.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors