On Sun, Jun 29, 2014 at 03:00:32PM +0300, Dimitris Zervas wrote: > I think that a new text editor must be created, with text interface (and > maybe GUI later).
Hello, I have been working on an editor named Kakoune (http://github.com/mawww/kakoune) that provides already a lot of that. Being written in C++11 (and depending on boost until the standard C++ regex library gets widely available), it will probably not please everyone in the suckless comunity > 1. Most vim bindings (not all, but most), just altered a bit in the way they > behave. Kakoune reverse the vi bindings (action, movement) to (selection, action), which makes the whole thing much more consistent. Its based around multiple selections and use that extensively. For example there is no global replace in Kakoune. You select the whole buffer, the select all matches to a regex, and then you edit interactively all these selections. This gives an expressivity similar to structural regex in sam, with the difference that it is interactive. I maintain some solutions to vimgolf challenges using Kakoune, and they beat vim in several cases. (http://github.com/mawww/golf) > 2. Fantastic syntax highlighting Kakoune supports extensive syntax highlighting, I recently added support for hierachical syntax. That means you can segment the code in regions (comment, code, strings for most languages) and then highlight differently in different regions. You can as well reference other highlighters so that '<script language=Javascript>...</script>' can highlight its content using the javascript highlighter while the rest of the document uses html. > 3. Fantastic auto-completion (a small menu appears while you type and you > press tab to accept or ctrl/alt to navigate). this is implemented and relies on an external program to do the completion work. I have a clang based c/c++ completion at the moment. > 4. Code folding Not implemented yet, mostly because I do not use folding and there has not been much demand for that yet. > 5. Snippet/template support A basic version can easily be delegated to a separate program, more complicated template (with support for specific zones to be edited by the user) would probably require some support in the core code > 6. Documentation while you type Implemented, kakoune tries very hard to be self documenting and give help for available commands. > They may seem a lot and difficult, but they already exist here and there, > just not all compiled in a suckless way. > I've tried most of the said editors and I simply can't live without my > beloved vim bindings. Besides C++ (not a problem for me, but it seems the suckless comunity is not fan of the language) Kakoune is designed around suckless ideas: * Tries to remain quite simple (around 18000 lines of code). * Relies a lot on external program, no integrated scripting but ways to interact with external tools (similar to what tmux does) * No window management integrated, but a client server design allowing for multiple clients on the same session. That means you can use tmux, dvtm or your x11 window manager to manage editing windows. * No threading or plugins, keep things simple, interact with external programs for complex features, asynchrounously if needed. * Limited dependencies, ncurses and boost (with boost going away once gcc 4.9 gets more widely available). Try it, tell me what you think. Maxime.