Excerpts from ale rimoldi's message of Tue Sep 23 18:03:45 +0000 2014: > on top of that, while i never had a look at the vim source code, i've > read scaring tales about it. Some cases where the vim source code appears very hacky to me: http://vim-wiki.mawercer.de/wiki/topic/in-which-way-does-vim-suck.html
Rewriting an editor? Have a a look at existing solutions - neovim - jedit (java editor, no vi keybindings, but you could look at its history to understand the effort it takes to write an editor) - ... Idea/Eclipse/Netbeans all offer Vi Keybindings (maybe extra plugin) Just to get an idea about how much work it is (just have a look at the history). If to rewrite, using what language? C++? Sucks - gtk&gimp/suckless/ more teams (jackaudio) cannot decide which language to use. They end up with: "Hey, we have two versions now: one written in C having features A, and one in C++ having B". That's why I concluded that I had to write a new language first. Where to start? Have a look at impredicative.com/ur, Disciple (strict Haskell dialect, memory regions and such), or rust (Mozilla is writing a multi core web engine using that) ? That's why I didn't start a project such as neovim yet. Also keep in mind that even Emacs has a Vim emulation http://www.emacswiki.org/Evil There is also "yi" written in Haskell which offers Vim and Emacs like keybinding flavours. And there is a lot more around (editors written ruby on github and whatnot). What makes Vim still productive, even though it has many flaws? Its community. An editor without a community is worthless. > and while testing vis, i started fearing that each of the many heavy > users out there uses a different small subset of all the vim goodness: > this could explain, why it's so bloated. let's hope that it's not > true. It totally is. Its vim, its the mailinglist, its the "plugin X which provides feature Y" - I tried switching to Emacs once, but gave up after 2 weeks. Too much code to rewrite. Thus before rewriting from scratch find out what you really want and where to start - and make sure you have either funding or enough "money" for living first .. ^^ That's my view. Marc Weber