Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jim - A "Revolutionary" "Text Editor"

image image

Jim is a lightweight Vim-clone written in C++ with manual memory management. Jim offers basic text editing functionalities. While it’s still a proof-of-concept with some rough edges, it explores the balance between low-level control and performance.

image

Core Features:

  • Manual memory management (expect some rough edges).
  • A combination of C and C++ coding conventions (An unholy combo of classes, templates and malloc()).
  • Basic text editing features with a focus on speed and efficiency.
  • WRITE and QUIT commands!! (This took a while)

Note: This is a proof-of-concept/exploratory project, it’s not intended for production use yet (and will clear your files on save if you mistreat it).

Building

Dependencies

  • C++ compiler
  • ncurses
  • zsh (Bash is not welcome here)

Build

$ chmod +x build.zsh
$ ./build.zsh

Running

./jim YOUR_FILE_NAME

Why I Built Jim:

I wanted to explore the efficiency gains and challenges of manual memory management (and the usefulness of abstractions that remove the need for it) in a practical project. This text editor helped me learn about the inner workings of C++ and Vim.

and also

I was left unattended with a C++ compiler and a terminal emulator.

About

Jim - A "Revolutionary" "Text Editor" written in C++ using malloc()

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages