History

From Yzis Wiki

Jump to: navigation, search

Before working on Yzis, the authors (Mickael Marchand, Thomas Capricalli and Philippe Fremy) had been working on Vim. Vim is clearly the best vi compatible editor today. It contains tons of features, which are very clear improvements upon the original vi: visual selection, unlimited undo, powerful syntax highlighting, script language, splitted windows, ...

We wanted to have the power of vim, integrated with KDE. So, we took Vim and wrote KVim. The first step was just the Vim editor application, using KDE (more precisely Qt) libraries for graphical elements (menu, toolbar, ...). The second step was to make KVim embeddable as an editor component into any KDE application. The idea was to be able to use a vi editor anywhere: in KDevelop, in Kate, in KMail, ... We managed to complete both tasks but the second one was very difficult to achieve and a number of problems could not be overcome. For example, kvim can not have multiple windows on the same buffer, and thus won't integrate properly in Kate or KDevelop.

While working with the Vim code base, we have been comfronted with a growing amount of difficulites:

  • there is a huge pile of C files without much documentation. It was difficult to understand and follow.
  • the vi engine is tied to the concept of console editor. We have to add hacks after hacks to make it work as a graphical component (for example, we need to fork a process, embed a graphical window, and run an event loop at full speed while still not taking the whole CPU to just make the component work).
  • the author of Vim was very reluctant to add any small changes, even those that would not affect the current behaviour

We end up spending a lot of energy for pushing small changes while working in a very limitating technical environement. We discussed the situation with the Vim team and came to the conclusion that it was not possible to work within Vim to have a vi-like editor in KDE as a good component. Vim had to remain super stable, which was incompatible with the changes needed to make it usable for us.

At this point, the decision was simple. Either give up the idea of a proper kvim, or do something else. We decided to do something else. Thomas Capricelli and Mickael Marchand took the decision during Fosdem 2003. The name was quickly decided: Why This ? Why write a vi editor when there is already one working ? Why write an editor when there are already plenty around ? Because it is fun !

Yzis would be the new generation of vi editor: it would be easy to build a graphical app embedding it, it would be developed in an object oriented language, would be well tested and unit tested, portable and it would depend on Qt.

About one year later, the M1 release came out on april 20th 2004.

Personal tools