This is a fully interactive text editor, developed with a thorough object-oriented design in C++.
- MVC Design Principle
- Factory Method Pattern
- Inheritance and Polymorphism
- SOLID Principles
- RAII (Use of Shared Pointers)
- Cohesion and Coupling
- Navigation
- h, j, k, l, $, 0, b, w, ^, %, a, i, A, I, :0, :line-number, f{c}, F{c}
- Editing
- S, s, c[all motions], d[all motions], o, O, J, r{c}
- Clipboard
- x, X, p, P, yy, y[all motions]
- Search
- /, ?, n, N
- Page Scrolling
- CtrlB, CtrlF, CtrlD, CtrlU
- Macros
- @@, @{register}, q{register}, q
- Insert Mode
- Normal Text Editing, Backspace, Enter, Escape
- File Management
- :w, :r, :wq, :q!
- Undo
- u
- File Information Display
- CtrlG
- Repetition
- ;, .
Please contact to view and run code (r2vasude@uwaterloo.ca or vasuraghav04@gmail.com).
make
(Makefile is provided)
./vm [optional filename]