2016, and we still need a decent text editor
2013, Grenoble, France. What a great century to live in. First day of engineering school after two long, harsh, years of Classes préparatoires.
I chose to study computing science and applied mathematics, mostly because as far as I remember, I loved coding.
One thing I’ll always keep in mind are those 5 minutes where our algorithmics teacher introduced us to text editors. The idea was simple to get :
You can use whatever text editor you want, as long as it is either Vim or Emacs. And Vim is a bit better.
The issue is that he was, and he still is, infinitely true.
A realistic workflow
Now, let’s say that I am an entrepreneur, with a startup project. Let’s say that I am building a MEAN web app using Sails framework, and Angular Material as the CSS framework. I use shell scripts to launch my tests, Less for my stylesheets, a small Go API to run some algorithms.
I need some basic plugins, like a file tree to navigate the project files. For each language, I need a linter, some basic snippets/completion, in addition to specific plugins : quick writing HTML with Emmet, color hexcodes highlight and so on.
Vim can do all of that. By accessing a plugin website, browse them, download and uncompress them in the .vim directory, adding config in a .vimrc (and thus reading the configuration doc of the plugin each time you want to change something). Of course, you must restart Vim afterward.
Oh and well, not that you added a thousand plugins, Vim is as fast as Netbeans on a Windows 98.
Some will say that I should use Atom, Sublime Text or any other competitor. Frankly, they are nice. But they have a defect in common : they are not vim.
I am not alone
A lot of people have been experiencing with love/hate relationship with Vim, I let you do the research. It leads to a lot of frustration for developpers that desire both an editor that obeys them and an environment that improves their productivity.
At this point, Neovim must be quoted. Neovim is a great project whose goal is to refactor Vim, so that it stays in the game for another couple of decades. Plus they made the effort to have a decent logo.
But Neovim is not the breakthrough we need
What we, developpers, need, is a completely new alternative. Not a Vim or 21st-century-vimlike, not an Atom, not a Sublime.
We do need a clever text editor. We need a tool that adapt to our workflow(s). We need a software that helps us to write code at the same speed we think.
You might be used to articles where the author exposes his theory and then wait for developpers that never happens to code his ideas. This doesn’t work.
A thing I learnt as an entrepreneur is when you need something that does not exist, you got to build it, period.
Students to the rescue !
That is why I suggested to ENSIMAG students (a French engineering school in computing science and applied mathematics) to implement what they think to be a modern text editor.
I asked them to build their solution with the same philosophy of efficiency as Vim. I mostly think about Vim notion of “modes”, which makes its shorcut incredibly powerful, as soon as you have understood the basics.
And guess what : a team of four students will work exclusively on it for 4 weeks ! The project is called Stretto (the reason behind this name will definitely need another article :D), and it is open source.
The (so far empty) repository will be available here : https://github.com/stretto-editor/stretto. It will be updated a lot during the next weeks, so do not hesitate to follow it.
Of course, they won’t end up with the perfect solution with a 4 week job. For that, they will need help. Why not you ?
You can follow Stretto project on its GitHub : stretto-editor.github.io/, and on facebook : https://www.facebook.com/Stretto-841328495972117/?fref=ts . Help, advice and opinions needed.
Stretto is a project from the French computing science engineering office Lebrun Burel — http://www.lebrun-burel.com