Re: [dev] Plain text editor that sucks less - an alternative to VIM?

From: Maxime Coste <>
Date: Tue, 1 Jul 2014 00:17:45 +0100

On Sun, Jun 29, 2014 at 05:34:50PM +0200, FRIGN wrote:
> On Sun, 29 Jun 2014 16:25:13 +0100
> Maxime Coste <> wrote:
> > 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
> Best. euphemism. ever.

Yeah, I did not expect to make friends here with that. But writing software is
my job (video games technologies mostly), and investing time in mastering C++
is worth it for that.

> > * Tries to remain quite simple (around 18000 lines of code).
> Maybe not fair, but I don't consider 18000 LOC simple.

I agree, but still an order of magnitude less than vim.

> > * Relies a lot on external program, no integrated scripting but ways to
> > interact with external tools (similar to what tmux does)
> Especially in this regard.

The thing is it relies on external program mostly for non editing features,
file type detection is delegated to the file command for example. And complex
things can easily done by piping to external commands, yet beside a POSIX shell
the core does not depend on any other tool while providing extensive text editing.

Part of the complexity relates to performances and asynchronicity. Supporting
multiple concurrent clients on the same buffer editing with
10000+ selections at interactive speed is a complex problem.

> > * 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.
> That's a nice thing, but nothing special.

It is mostly an example of the philosphy behind Kakoune. It is a code edtior,
and not a window manager. The most interesting aspect (IMHO) would be the editing
model, that nicely orthogonalize vi's one (which tends to be quite messy), with
clear separation of modes (the normal mode manages selections, insert mode provides
interactive insertion, command mode provides non editing commands like opening a file).

An interesting thing about that orthognalization of the editing model is that it stays
competive with vi in term of key strokes while providing higher level support for
editions, expressing the 'swap function call argument' in kakoune is quite easy
(select inside parens, split on ', ' rotate selection content).


Received on Tue Jul 01 2014 - 01:17:45 CEST

This archive was generated by hypermail 2.3.0 : Tue Jul 01 2014 - 01:24:06 CEST