Eddie is a programmers editor for Mac OSX and Gnome Linux. Inspired by the Macintosh Programmer's Workshop, Eddie brings some of it's powerful features into a modern lightweight and capable programmer's editor. Eddie is ideal for C++/Obj-C development using makefiles and shell tools but can also be used with XCode projects. The Worksheet in Eddie is a full-featured shell that combines the power of bash and the ease of editing in a normal text window-like mode. Eddie is equally capable at editing HTML, JavaScript, Python, Ruby, Lua and many other languages.
Originally written for BeOS it is lightweight, fast and responsive. Currently actively developed on the Mac, it is a modern, fully native Mac app, well integrated into the latest versions of Mac OS X. Beta of a Gnome Linux version also available.
Features
Full featured editor with an extensive set of powerful editing commands, unlimited Undo and more.
Innovative keyboard shortcuts such as Smart Swap.
Worksheet windows with a full bash shell support, innovative Tab-completion support
Syntax coloring for C/C++/Obj-C, makefiles, assembly, HTML, JavaScript, Lua, Python, Ruby, Konfabulator and many other file formats
Function popup with full C/C++/Obj-C support, JavaScript, Perl, Lua, Python
Magic prototyper greatly simplifies C++ and Obj-C development
Symbol lookup and completion of C/C++/Obj-C code, Ifdef balancing, Commenting ease development
Multiple clipboards with an extended feature set for complex copy-paste jobs
Worksets allow organizing files into project-like groups
Git and Subversion source control integration
Support for automatic makefile generation
Search/Replace supports regular expressions, multi-file, incremental search
Windows may be split horizontally and vertically into several panes
Extensive plugin API gives plugins full control over the application
Every keyboard shortcut fully configurable (includes plugin commands)
Support for source control systems like Git, Subversion, Perforce, CVS
Comments and Reviews
Having a whole document also be a a sort of free-form terminal is intriguing. Not totally sure what my use case will be but I will probably come up with something.