Hello suckless fans, This may not be an alternative to VIM, but it is inspired by its ancestor vi, and other editors like ed, sam, and acme. It is a graphical text editor. The main reason why I choose graphical is because TUIs are just a hack of GUIs. Seriously, look at the screenshots posted at the beginning- why would anyone use that? There is a framebuffer driver on most modern OSs that work to have some sort of graphical capability. It has two "modes", regular text input mode that supports UNIX bindings (ctrl+e/a/u/h), and a "command-line" mode, that brings up a command-line. You can select text and pipe it to any command you type in there (as long as it can accept input from STDIN). This alone makes the editor really powerful, because it opens up your entire system for use. It has no support for syntax highlighting (personally I find it annoying and I find I understand code better than having to rely on the highlighting to tell me what is and what is not correct); auto-complete is not supported, but is extremely practical when working with Java/C#/C++/etc- I never code in those languages without their respective IDEs (Eclipse, Visual Studio, SomeMassiveIDEThatSupportsEverything), because it's almost impossible unless you've worked with them for a long time; does not support window management which means no tabbing, windows in windows and other non-sense, all window management is done by the window manager.
I was actually reading Rob Pike's sam paper again this weekend (it's a good read for you text editor enthusiasts out there), and apparently my editor is somewhat a clone of his older editor, jim. How I typically use OONO - Object-Oriented Non-Obstructive Text Editor, is by calling it from a script. I call the script 't', so it is easy to type into the command-line and perform non-editor things (creating a new file if it doesn't exist, opening several files). OONO should be used with a terminal (this is where it is similar to sam, having a "master" terminal to type into). Every instance of OONO can be controlled through the filesystem, by piping text to /tmp/oono/proc*/ctl (just like acme (I forget if sam can do this too)). These instances, for me, are tiled because I'm using dwm (dwm.suckless.org), so it's very much like acme at this point. Some may think no because the lack of clickable tags, but I always found the acme tags becoming very squished and too messy. Having the command-line appear clean and ready to type into has been a much nicer experience for me, but obviously it varies from person to person. I would like to store the last X commands in some array that I can access via right or middle click. Hopefully if you're still with me here, this may really turn you off. OONO is currently written in 300 lines of Python 3 and uses tcl/tk for graphics. It has worked out-of-the-box on every platform that supports these, which is mainly why I wrote it using these technologies. Further more, OONO is written in such a way that is easily extensible from the code side (you'll have to look at the source near the bottom to understand me here, as this email is getting too large). I was able to write a "TextMap" implementation in less than 5 minutes (I rarely use it though, heh). I would like to rewrite OONO in C89. The main design goal of OONO was to remain simple so that re-implementation is not a daunting task (can literally be re-implemented in a few hours if you know the technologies- OONO has taken me months to get to a point where I'm satisfied). My main issue is the graphical aspect of it. I'm not sure if writing a graphical abstraction layer is worth it or not. I'm leaning more towards no because most graphical libraries are similar anyways. You can find the code here: http://www.bitbucket.com/lfallat/oono-text-editor Ok let the ranting begin...hehe. Honestly though, good thread. And for you console addicts out there, ed is all you ever need. I use ed (or sam -d) for all my console text editing needs. Regards, Lee On Mon, Jun 30, 2014 at 12:20 PM, <sta...@cs.tu-berlin.de> wrote: > * Dimitris Zervas 2014-06-30 11:35 >> I am thinking of trying to implement vim key bindings one of these days (I >> can't work otherwise). > > that'd be great. > > including modes? > > --s_ >