

HappyEdit: A Vim-inspired, modern, open source text editor - pkkm
http://happyedit.se/

======
jlgreco
I am wondering in what way a "modern vim" isn't "vim". GVim exists, and plugin
management is a problem frankly solved years ago.

I also wonder how he is going to support modern features that Vim currently
has with a web-based editor. Can I script this in my choice of modern
languages? Python? Ruby?

If I were going to change any single thing about Vim, it would be to make
MzScheme scripting support a first class citizen, and slowly re-engineer the
backend to be more Emacs styled. Core C (or whatever, but C out of momentum)
functions with the rest of the system build up in Scheme. I think it would be
foolish to call such an improvement "modernizing" though, since it is hardly a
new idea. ;)

~~~
guns
> _If I were going to change any single thing about Vim, it would be to make
> MzScheme scripting support a first class citizen, and slowly re-engineer the
> backend to be more Emacs styled. Core C (or whatever, but C out of momentum)
> functions with the rest of the system build up in Scheme._

Thank god there are people who share this vision! I have solemnly promised to
myself that I will write a new vim in exactly this fashion if no one has done
so in the next 10 years.

One thing that I don't understand about contemporary developers is the
aversion to running their editors in a terminal. The benefits of doing this
are significant (e.g. session management with tmux, remote pair programming
via the same), but programmers leave them behind for what is ultimately just
eye candy.

The major reasons for this are the difficulty in binding complex key chords in
a terminal, and the poor implementation of OS X's Terminal.app (both of which
can be worked around today with a little work, and a proper X terminal). If
this terminal-based workflow is going to thrive in the future, what will need
to be modernized is the terminal.¹

So you heard it here first: if a new vim built atop a Lisp interpreter running
on a new data-centric, mixed character-grid/HTML5-webview terminal emulator
does not appear in the next 10 years, I'm on the job.²

¹ Some excellent musings on the subject: <http://lubutu.com/idea/ivo>

² This would all be easier if I could love to learn Emacs, but Vim modal
editing is a pernicious addiction.

~~~
padraigm
As tikhonj mentioned, Emacs evil-mode is very likely exactly what you're
looking for. I had considered myself a hardcore vim user, but I felt the call
of Slime and org-mode. When I finally took a serious look at Emacs, I became
convinced that Emacs with evil-mode is the ultimate editor for vim lovers.

~~~
guns
What concerns me about vim emulation modes is the uncanny valley mentioned by
another poster. Working in a second-class interface doesn't sound that great.

However, that's pretty strong praise, so I promise I'll give it a shot before
trying to birth a new editor into the world.

~~~
aerique
I've used Emacs for the last 10+ years first with my own custom keybindings
and recently with keybindings with 'default' CUA bindings like you find them
in almost any other modern application. Before I switched to Emacs I used
vi/Vim for almost 10 years. Also, even when I had switched to Emacs I still
used Vim on the commandline and on remote servers but not in any advanced way.

I tried out evil-mode a couple of weeks ago just on a lark and I am staying
with it. You really get the best of both world[1] this way. It might be a
little strange at times but I wouldn't describe the usage as a second-class
interface. Just different. I'd rather describe the default Emacs keybindings
as a second-class interface :-)

[1] this will not mean much if you've never used Emacs

------
ef4
I can almost guarantee that it would be easier to fix whatever it is you don't
like about vim than to start from scratch.

Too many developers have this conceit that it's easier to start from scratch.
_Sometimes_ that's true, but usually not. Usually there's an exaggerated fear
of extending other people's code.

Of course the world is big enough for another project, and you _might_ make
the next great editor. But be realistic about how much effort went into
something like vim, and don't think you're going to single-handedly replace it
in a month.

~~~
kkowalczyk
You should have checked out the project before ranting.

1\. The major difficulty in writing an editor is in writing the editor core.
He didn't write it from scratch but used existing ACE editor.

2\. VIM is a huge mass of C code. Working on a huge mass of C code is
ridiculously slow.

He's writing in JavaScript and using html for the UI - this is orders of
magnitude faster.

~~~
smosher
_He's writing in JavaScript and using html for the UI - this is orders of
magnitude faster._

In what sense is that true?

~~~
dbattaglia
Faster for them to code with compared to C I would imagine.

------
ecspike
Using Chrome packaged apps makes compilation problematic if not impossible as
well as running command-line functions.

The file model for Chrome packaged apps is similar to the Mac App Store in
that you can access files but you have to get explicit permission for each one
you open. There's also an internal file system to the app that you can create.

I write HTML5 apps but also do quite a bit of Java moving between different
projects during the course of the day and running some command-line functions
too. Happy Edit as it appears today wouldn't give me parity to how I use vim.

If I were on a Chromebook, I would probably just use tmux/screen and a ssh
session.

------
sudonim
Looks great. Is it releasable at the moment? It looks like the indiegogo
campaign may not succeed - sorry :(.

<http://www.indiegogo.com/happyedit> (3 days left, $805 / $10,000 raised).

Have you considered alternate ways of funding your development? Like
subscriptions? (it's a web app right?). Maybe figure out a price... let's say
$10 a month or $100 a year and get people to pay for a yearly subscription up
front.

It may not allow you to focus on it full time at first, but could give you the
incentive to continue improving the product and eventually work on it full
time.

~~~
marekmroz
I think that the author will get all the funds regardless of reaching the
goal. It is the first time I see indiegogo and it would be quite different
from kickstarter, but that's what their page seems to indicate:

>Flexible Funding campaign >This campaign will receive all of the funds
contributed by Wed Oct 31 at 11:59PM PT.

------
mercurial
I must admit a marked lack of enthusiasm for projects like this. You already
have a number of vim "clones" developed with various technologies (ysis in qt4
- dead, yi in haskell - though it has also an emacs mode, still actively
developed, probably others I don't know about). They haven't managed to take
off in a significant way, what is this one bringing to the table? The idea of
taking on an editor with about 20 years of development behind it, even with
the editor core already written, in a couple of months, is ludicrous.

And to top it all, it doesn't even work in a terminal.

~~~
fafner
The problem is attracting a large enough group of users and contributors. If
you have only a handful people working on it then it will quickly fade away.
I've seen this with several open source projects. One maintainer finishes
college, the other changes jobs, the one guy who thought he could make a
living out of it realises he's broke, the biggest contributor becomes father
and all of the sudden there are too few people left. And although everybody
loves the new ideas behind the project it quickly turns into an unmaintained
mess and because there are so many alternatives available they'll eventually
move on.

Let's face it the editor market is really really crowded. And there are tons
of great editors out there. You really have to be innovative to get a foothold
there. And can HappyEdit really provide that by simply being a vim-like in-
browser editor with some sublime features? It is incompatible to all the
existing vim plugins and has to reimplement everything vim does. The majority
of vim users are probably not interested in fancy guis or even leaving the
terminal ("it's not the UNIX way"(tm)). And the $10,000 he asks for will only
get him 1-2 month of development. Oh and the indiegogo campaign has less than
3days left and currently only a bit more than $1,000 of the $10,000 he asks
for.

So yeah I doubt that this will be a huge success.

~~~
mercurial
Precisely. If you want to challenge a product with massive mindshare [1], then
you need new, very compelling features, and preferably be compatible with the
existing ecosystem.

1: Unless you can play "abusive monopolist".

------
barbs
Awesome. I'm always on the lookout for a text editor with all the cool things
from Vim, but without having to fiddle with the stupid plugin and config
system.

The closest thing I've found so far is Vico (<http://www.vicoapp.com/>)

~~~
buf
Check out vundle

<http://lepture.com/work/vundle-vs-pathogen/>
<https://github.com/gmarik/vundle>

------
dantiberian
It wasn't obvious on the linked page but this is available to try on Github
here <https://github.com/pthulin/HappyEdit>

------
volaski
I like the product but I really dislike the way he's trying to fund it. You
know, once upon a time people would just build and launch shit, instead of
begging people for money even before building it. I understand this type of
Kickstarter-like campaign is really helpful for building hardware products
which require upfront budget, since building hardware costs real money. But
building a software? Please... If I was so motivated, I would just build it
and release it.

~~~
jamesrcole
I don't see why it's that bad. You describe it pejoratively as "begging for
money", but it does take time to develop anything, and you need money to live.
What's wrong with someone wanting to be able to work full-time developing it?
And what's wrong if some people want to provide monetary support so the person
can do that?

------
dysoco
Looks really interesting, but you seriously need $10,000 ? Can I run this from
a Terminal ? Without the UI but using some features from HappyEdit ?

~~~
sergiotapia
The entire point of this project is to modernize it, and give it a user
friendly UI. If you want Terminal usage, just use Vim.

~~~
duck
Why does modernize mean not supporting a terminal interface?

~~~
dfbrown
I would imagine because there are many UI features that cannot be easily
reproduced in the terminal and maintaining two different interfaces with very
different capabilities is more trouble than it's worth.

~~~
jlgreco
Ideally any new system should be made UI agnostic, provided a simple default
UI with few features readily accessible (perhaps accessible only though a
command line of sorts), and allow users of your editor to craft their own
frontends, be they TTY or web-based, or anything they may dream up in the
future.

Just building the web-based editor that you want this year may be fine for
this year, but I am not convinced we should be putting much effort into
designing systems that don't learn from their predecessors. The classic
editors can feel rickety today because they were made with the TTY, and
arguably only the TTY, in mind. A system designed today should keep that in
mind, and I think make future-proofing it's first and for-most concern.

I think it is also really hard to justify supporting _fewer_ features than
classical editors do today. Removing the ability to implement technical
features so that you can add support for UI features seems like a step
backward to me. I don't think there is much (or anything) that you _couldn't_
add to Vim or Emacs, the question is just more along the lines of "can you
make it _look_ how you want it too". An editor designed with UI agnosticy (is
that a word?) as a first class feature should not have this problem.

~~~
johncoltrane
I've already clicked the up arrow but I wanted to express my agreement more
directly.

I agree.

That would be "Agnosticism", I think.

------
calinet6
The name is horrible. Change it and it might see success.

~~~
wyclif
I came here to say just this. I'm a vim user, and I have my doubts about this
project, but overall I encourage people to experiment and do new things in the
editor space-- so I don't begrudge this. But the name is terrible. Don't
project an emotion onto your users.

~~~
Evbn
Are you jokimg?

<http://m.dictionary.com/d/?q=vim>

~~~
wyclif
I'm as serious as a heart attack. Actually, it's really not the same thing at
all, and I'm an English major-- I know that "vim" is a noun. But "happy" is an
adjective. That's part of the reason why it's a bad name.

------
Magenta
No offence, but as far as I can see, this does nothing that can't be done in
vim (or one of its forks) with pathogen/vundle and the extant plugin
ecosystem. Also I doubt people will want to pay if there is no native
editor/terminal support. ;(

------
zapt02
this doesn't look thought out. you need way more than "1-2 months" to develop
a good IDE. there's no mention of supported languages and popular features
like code indexing and live compilation will never happen on a web platform.

~~~
jcheng
Our web based IDE does code indexing:
<http://www.rstudio.com/ide/docs/using/navigation>

Never say never...

I agree though that 1-2 months would only be scratching the surface, surely.

------
BasDirks
From <http://www.indiegogo.com/happyedit>

"What will you do with the money?

The money buys time for me to work on this project. With the $10,000 that I am
asking for, I expect to get 1-2 months of development. This should be enough
time to finish what's on the roadmap."

Why would he need an average yearly income to be coding ± 45 days?

~~~
danieldk
Where in the Western world is $10,000 an average yearly income?

~~~
tsahyt
In Portugal, the average wage is 777€/month, paid 14 times a year, resulting
in about 10800€ a year. Not exactly 10000$, but close.

~~~
ibotty
well. the euro is way more worthy than the us $. that seems a little off.

(10000$/2month still seems like a good salary... for something resembling
vaporware for now.)

------
fisadev
How is this editor "vim-inspired"? Has a vim-like editing language? (not just
shortcuts, but combinable verbs, objects and modifiers) Has different modes?
(normal or command, editing, ...) Is very extensible? I don't see any of those
in the video, and they are vim's most important features (especially the first
one).

~~~
pkkm
From its IndieGoGo page (<http://www.indiegogo.com/happyedit>): "Already
implemented: Vim like INSERT/COMMAND/NORMAL modes, keybindings and search."

------
gnuvince
Why another web-based editor? What's wrong with a native editor?

------
venatiodecorus
Sublime Text 2 has Vintage mode which supports Vim-like commands, is a native
app, and is elegant.

However, HappyEdit has one significant advantage over ST2, in that it is open
source. While I love ST2, I feel like for it to really be embraced as a great
editor, it needs to be open source.

~~~
djacobs
I've tried using Sublime with Vintage mode, and about 30% of the time I'm
editing, I try a Vim combo and nothing happens. This isn't just for advanced
Vim features -- it's for basic things like g_.

~~~
lloeki
There's a VintageEx bundle that extends Vintage mode with more vim-ness. It
still lacks vim-surround which is a no-go for me, and there are a few
differences in behavior (off-by-one mostly) that _constantly_ throw me off.

------
edanm
I'd love for someone to remake vim, in a modern way. With a modern GUI. And
with a lot of thought put into how to make vim easier to use for new users.
And with a better solution for plugins and customization.

I'd love for this project to succeed, and I was ready to pay for it, but
frankly, I'm skeptical, after looking at the product page. He's asking for
money equal to 2 months of development. This is nowhere near, not even
remotely close, to how much time it will take to get even a semi-descent
version of an editor. I'm sorry, but that's just unrealistic.

Also, I'd love to see other projects he's worked on, to see he knows how to
build things, before I back a project.

------
tsahyt
I've been watching the video and it doesn't look bad but... how is VIMs plugin
system a mess? It always worked like a charm for me.

------
jamesrcole
Feedback for the author:

The "Back This Project" button send this message: only click this button if
you have already decided you want to pledge money.

I think more people would click on it if it was named something like: "Find
Out More" or "Visit Project Page".

------
songgao
Looks interesting. Is it possible to support real-time collaboration? By real-
time collaboration I mean multiple people working on the same file and being
able to see other people changing the file in real time, like Google Wave or
Google Docs.

~~~
klibertp
Or maybe like Vim in tmux?

~~~
songgao
But that's still only one person modifying the code and the other watching.
There couldn't be two cursors/editing points at the same time.

~~~
klibertp
My bad, you're right, it's not exactly the same. I just didn't think about two
people working on one document in two different places at once.

------
hayksaakian
This is a great example of what you can do with chrome packaged apps. Many of
the APIs associated with packaged apps are not supported in the current
official release of chrome, unfortunately.

------
kintamanimatt
I didn't realize this until now, but I get a kind of satisfaction from using
the old CLI Vim because it's harder and uglier than neccessary. I could be
equally productive in gEdit.

------
andybak
I'd like to know more but I'm in an environment where I can't watch a video.
(plus I hate video...)

Is it that hard to also write some old-fasioned text as well?

~~~
pkkm
The author has described the editor here: <http://www.indiegogo.com/happyedit>
.

~~~
andybak
Weird. I didn't see that the first time I looked. Mumble. Going mad...
Mumble...

------
navs
If he's using HTML and JS to code this, can we expect it to run in a browser
as well? I'd love that.

~~~
johncoltrane
It runs in Chrome as an extension.

~~~
navs
Thanks. I didn't really catch on to that until I looked at the github project.

