Emil is a lightweight text editor designed for simplicity and efficiency in the terminal. It offers essential Emacs commands while maintaining a minimalist approach, free from complex configurations or plugins. Perfect for users who prioritize speed and clarity in their text editing workflow.
emil is a minimalist, Emacs-style text editor designed specifically for terminal usage, making it lightweight and efficient for editing UTF-8 files. Written in standard C99, it is capable of running on any system that provides a minimal POSIX.1-2001 interface and a VT100-compatible terminal. This editor simplifies the text editing experience by avoiding common complexities such as scripting, plugins, configuration files, and auto-save functionalities.
Key Features
- Visual Text Selection: Easily select text for editing.
- Rectangular Text Editing: Modify rectangular regions of text seamlessly.
- Kill Ring: Keep a history of clipboard actions.
- Snippets: Store session-local registers for quick access to frequently used text.
- Incremental Regex Search & Replace: Find and replace text using regular expressions in real-time.
- Keystroke Macros: Record and replay sequences of keystrokes.
- Shell Integration: Execute shell commands directly from the editor, enhancing productivity.
- Word Wrap: Prevent horizontal scrolling by wrapping text intelligently.
- Split Windows: View and edit multiple files or sections side by side.
- Bookmarks: Mark and navigate to specific locations within your files.
- Jump to Symbol Definition: Use Ctags for quick navigation in code files.
Getting Started
Launching emil is straightforward. Simply open a terminal and run:
emil file.txt
For a full list of commands and functionalities, refer to the man page using:
man emil
Shell Integration
emil supports shell commands embedded directly within its interface. This feature allows users to execute commands on selected text and manage the output efficiently. Common tasks include:
- Fill a region using
fmt:Ctrl-u Alt-| - Sort lines:
Ctrl-u Alt-| - Number lines:
Ctrl-u Alt-| - Word Count:
Alt-| - Format JSON using
jq:Alt-|
By leveraging shell commands within emil, users can streamline their workflow significantly. For instance, users can create custom scripts for dictionary lookup or translation tasks by integrating them with emil commands.
Development Status
While emil is feature complete, it is currently marked as unstable. Efforts are ongoing to refine the architecture, enhance maintainability, and address any bugs. Contributions to improve the codebase and enhance portability are welcome.
Contribution Guidelines
The project invites contributions for bug fixes, performance improvements, and general code quality through pull requests. For new feature proposals, users are encouraged to open an issue prior to submission, as the project prioritizes simplicity.
emil serves as a high-performance text editor that combines the core functionalities of Emacs with an elegant, terminal-based interface, catering to users who prefer a streamlined editing experience without unnecessary overhead.
No comments yet.
Sign in to be the first to comment.