Skip to content

VersaNexusIX/VENA

VENA — Terminal Text Editor

⚠️ EXPERIMENTAL — Version 1.x — This project is under active development. Features, APIs, and behaviors may change without notice.

Version Platform Language License Status

A fast, lightweight terminal text editor built for Termux/Android and Linux.

GitHub · Report Bug · Request Feature


⚠️ Experimental Notice

VENA is currently in experimental status. It is functional and usable, but:

  • Behavior may change between versions
  • Some features may be incomplete or unstable
  • Data loss prevention is best-effort (always backup your work)
  • Mobile (Termux) support is a primary target but still being refined

Use at your own risk. Feedback and bug reports are highly appreciated.


Features

  • Syntax highlighting for 32 languages: C, C++, Python, JavaScript, TypeScript, Go, Rust, Zig, Nim, Lua, Ruby, Shell, PHP, Java, C#, Kotlin, Swift, HTML, CSS, JSON, YAML, TOML, Markdown, SQL, R, Perl, Dart, Makefile, and more
  • Smart paste detection — differentiates keyboard input from clipboard paste without relying on bracketed paste markers (works on Termux which does not send ESC[200~)
  • Dynamic resize — automatically adapts when the soft keyboard appears or disappears on Android
  • Undo/Redo with coalesced history (word-level, not character-level) — dramatically lower memory usage
  • Efficient memory — lines stored at exact size, not fixed 8KB buffers
  • Sidebar with real-time file info, cursor position, word count, undo depth
  • Auto-indent and auto-bracket pairing
  • Unicode support including combining characters and CJK wide characters
  • Pipe modecat file | vena - or vena - output.txt
  • Backup on save (configurable extension)
  • Config file at ~/.venarc

Installation

Termux (Android) — Primary Target

pkg install ncurses clang make git
git clone https://github.com/VersaNexusIX/VENA.git
cd VENA
make termux

Or compile directly without make:

clang -o vena vena.c -lncursesw -lm

Linux (Debian/Ubuntu)

sudo apt install libncurses-dev gcc make git
git clone https://github.com/VersaNexusIX/VENA.git
cd VENA
make
sudo make install

macOS

brew install ncurses
git clone https://github.com/VersaNexusIX/VENA.git
cd VENA
make

Usage

vena file.c              # open file
vena                     # new buffer
cat file.txt | vena -    # pipe stdin into editor
vena - output.txt        # pipe stdin, save to output.txt

Keyboard Shortcuts

File Operations

Key Action
Ctrl+S Save
Ctrl+A Save As
Ctrl+Q Save and Quit
Ctrl+W Quit (with confirmation if unsaved)
Ctrl+E Force Quit (no confirmation)

Editing

Key Action
Ctrl+C Copy selection / current line
Ctrl+X Cut selection / current line
Ctrl+V Paste from system clipboard
Ctrl+Z Undo
Ctrl+Y Redo
Ctrl+D Duplicate line
Ctrl+K Delete line
Ctrl+U Select all
Ctrl+L Select current line
Tab Indent selection / insert tab
Shift+Tab Unindent
Insert Toggle overwrite / insert mode

Navigation

Key Action
Arrow keys Move cursor
Ctrl+Left/Right Jump word
Home First non-space / column 0
End End of line
PgUp / PgDn Page up / down
Ctrl+Home Beginning of file
Ctrl+End End of file
Ctrl+G Go to line number
Ctrl+T Go to column number

Search & Replace

Key Action
Ctrl+F Find
Ctrl+N Find next
Ctrl+R Replace all

Line Operations

Key Action
Alt+Up Move line up
Alt+Down Move line down
Ctrl+B New line below cursor
Ctrl+P New line above cursor
Ctrl+\ Join line with next

Function Keys

Key Action
F1 Help screen
F2 Uppercase selection
F3 Lowercase selection
F4 Sort selected lines
F5 Remove trailing whitespace
F6 Insert current date & time
F7 Toggle line comment
F8 File statistics
F9 Delete word right
F10 Join lines
F11 Indent
F12 Unindent

Toggle

Key Action
Ctrl+O Toggle sidebar
Esc Clear selection / cancel

Configuration

VENA reads ~/.venarc on startup. A default config is created automatically on first run.

show_line=true
show_status=true
show_ruler=true
show_sidebar=true
show_eol=false
show_modified=true
highlight_current=true
syntax_highlight=true
auto_indent=true
auto_bracket=true
hard_tabs=false
tab_size=4
undo_levels=100
backup=true
backup_ext=.bak
trailing_spaces=false
confirm_quit=true

Supported Languages

C, C++, Python, JavaScript, TypeScript, Go, Rust, Zig, Nim, Lua, Ruby, Shell, PHP, Java, C#, Kotlin, Swift, HTML, CSS, JSON, YAML, TOML, Markdown, SQL, R, Perl, Dart, Makefile


License

MIT License — see LICENSE for details.


Made with ❤️ for the terminal · github.com/VersaNexusIX/VENA

About

Experimental terminal text editor for Termux/Android & Linux fast, lightweight, built in C with smart paste detection and dynamic keyboard resize support.

Resources

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.md

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors