I love the edit markers in the last screenshot. But too skeptical about the performance of a text editor running in webkit. All of my experiences writing text online have been bad. So the jump into using webkit for an entire dev environment fills me with dread.
Brackets[1] is a decent programmer's text editor developed by Adobe and using WebKit. It works fine. The performance and polish of web editor components like CodeMirror has come on a long way in the past couple of years.
Have you used LightTable? It's quite fast as the editor. I'm sure Atom is similarly fast. It doesn't run in the browser; it just uses WebKit as the engine.
The nice thing about Vim mode is that it glosses over latency by making simple edits take fewer keystrokes. It's sort of why vi was invented.
In the words of Bill Joy himself:
> ... you've got to remember that I was trying to make it usable over a 300 baud modem. That's also the reason you have all these funny commands. It just barely worked to use a screen editor over a modem. It was just barely fast enough. A 1200 baud modem was an upgrade. 1200 baud now is pretty slow.
> 9600 baud is faster than you can read. 1200 baud is way
slower. So the editor was optimized so that you could edit
and feel productive when it was painting slower than you
could think. Now that computers are so much faster than you
can think, nobody understands this anymore.
Yeah, as the create of GitGutter for ST, my first thought was, cool if I switch to this I can write GitGutter in CoffeeScript. Then I thought, being Github, they would probably bake that in.
To put "often" in context, I raised a Github issue on it today which was resolved within a few hours, it's improving incredibly quickly (and it's already awesome).
I thought CodeBox was using the ACE editor as part of their system like Cloud9. And I believe Orion and Codenvy (my company) use CodeMirror. Looking forward to trying out Atom. I can see many advantages already of it as an editor.
Considering that ST is barely ever worked on, not really. Maybe a few spouts. I love sublime, if it wasn't for the awesome plugins I probably would have ditched it. :)
FYI, it's not WebKit but Chromium I'm betting, based on the crash reporting. If you want an idea of performance, Edge Code from Adobe will provide an answer. Oh and there's a welcome repo with an IRC channel listed. Atom.io just says "nope" for me but is likely its future home.
> it looks like this is a GitHub-aware/integrated text editor that targets both desktop (Mac, at least) and web
I can confirm, from looking at the code.
It uses CSS / LESS for highlighting, and CoffeeScript for client-side programming (eg, the fuzzy completion[0], or the autocompletion).
The surprising part is that the editor doesn't seem to be a fork of either Ace or CodeMirror, the two big guys in the field. The highlighters (ie, syntax files) are in CSON. Ace is probably the closest, but it uses a completely different structure[2].
A negative impact of that is the low number of syntax files. However, there seems to be a 1-to-1 equivalence to tmLanguage (TextMate) syntax files[3].
Interesting. The whole Sublime Text theory takes another buff.
The tmLanguage syntaxing, while limiting, is still pretty damn easy to create and edit, thus I approve. The idea that you have to learn a new way to build new syntaxes for every editor out there is a big issue for me as if you're going to be on the edge using new templating syntaxes, flavors of other languages etc. you just have to be able to fiddle with syntax highlighting, especially with new editors with poor/incomplete syntaxes and few user created syntaxes to fill the holes.
IntelliJ is pretty nice on this point. You write a PEG-style parser and get a full AST. It is a lot of work, but the payoff is pretty nice and they have a lot of solid tooling to help you out.
Don't feel bad, there's nothing worse (for editing) than using a half baked version of vim in another editor. The best of implementations will leave you with an uncanny valley feeling of disgust. I'd rather use a non-modal editor, all or nothing.
Funny, I'm just the opposite. I'd rather have the basics than nothing.
Mostly I've used VsVim and Viemu. They're both pretty decent. (Viemu is better though, it's got everything I normally use except for :norm. VsVim is missing column mode and the vap doesn't work.)
I've built a suite of useful shortcuts that only work with my vimrc, which isn't a problem since installing my config from my github repo is a 3 step process, but when I'm running in some "vim-mode" editor I find myself tripping up on not having these things that I've committed to muscle memory and it ends up killing my productivity. At least if I know the editor is always in insert mode I can adjust with the occasional :w here.
You can try this out https://atom.io/packages/atomic-emacs. It's not yet complete, and I'm still working on it, but I think it's a start. Feature requests are welcome :)
And it's totally gonna be awesome. I'm fairly confident they built it around node-webkit or another wrapper, perhaps in browser, I'm not sure.
What's important is that it's a text editor on top of web technologies. I was poking around doing the same a couple months back, brackets has been doing it for even longer. It's honestly sorely needed because of the amount of expression one can put into due to it's technological stack. An open, compile-less, hot-reloading editor sounds like a dream coming true.
I'm excited for it.
It also appears to be built around react, so that's really cool as well. And the code is simply great.
> An open, compile-less, hot-reloading editor sounds like a dream coming true.
You're talking about Emacs, right?
This actually seems really exciting, and I'll give it a whirl when and if I can. It's just funny to see people (the Light Table fans as well) rediscover what Emacs users already knew - modifying your editor in-place is really awesome.
> It's just funny to see people (the Light Table fans as well) rediscover what Emacs users already knew
Since many of the Light Table fans either use or have used Emacs, I would say that it is more of a relief to have something that takes the Emacs concepts and tries to modernize, adapt, or polish them. It might also be good to mention that the Light Table team chose a "usable editor first" strategy to build a user base, before attempting the concepts they demoed early on in development. So, we will see if it ends up mimicking Emacs or, perhaps, something different.
You hit the nail on the head there: "tries to modernize, adapt, or polish them". There's a lot we can do with the stack, we've got websockets (pair programming anyone?), workers, sql, and more baked into browsers. I'm not saying an editor cant do those things, but I think the level of entry and collaboration are totally different outside a web stack.
Over the last 18 years, I've tried to figure Emacs out a few times, but it always ends up baffling me. It may be as powerful as you say, but given how obtuse I am (or perhaps how terrible Emacs is), I'll never know.
It took me a good 15 years before I started using Emacs a few months ago.
What made it work was (a) learning how to tweak the configuration to suit me, (b) learning Emacs jargon equivalents (chiefly: selection => region, cursor => point, open => find, file => buffer, pane => window) and (c) already knowing enough lisp to be able to tweak configuration further than simple variables and modes.
Then what really made it work was finding out about package repositories.
Emacs, when I first started out, didn't understand the arrow keys properly on my terminal, and required you to learn all the C-n, C-p, C-f, C-b etc. to move around. It also didn't have transient mark mode. But it can do all these things now (although I still have terminal configuration files to map function keys in Cygwin, Rxvt etc. because I mostly work in the terminal), all it really took was a Sunday afternoon researching settings, key bindings and modes, before it was almost as usable as any GUI editor.
Emacs is awesome. I'm sorry I didn't learn it sooner. I've gone through several generations of IDEs and programmer's editors that have come and gone in the past 20+ years. I could have been using Emacs all that time and increasing my knowledge and library.
It is, however, still weak with languages that heavily rely on IDE support, like Java and C#. emacs-eclim and other hacks aren't quite enough to make up for it. Although I still have an emacs session open on every Eclipse project because helm-git-grep is way too good to not use; and also it's better for certain text editing. I had a big aha moment when I found out that M-/ also works in Eclipse!
> It is, however, still weak with languages that heavily rely on IDE support, like Java and C#
Which I see as a weakness of those languages -- not a weakness of Emacs (or Vim, or any other Not-The-Walled-Garden-IDE). I think needing an IDE to be productive is a kind of "language smell".
I do appreciate that some of us don't have a choice but to use them, and that they have good points -- just not this.
Well, the strengths of languages like C# and Java are extensive libraries along with static typing and the code completion that enables. Object orientation also helps with code completion, because the you normally have the noun to hand in a local or a field before trying the operation.
Java does have a fashion for verbose identifiers, and C# has picked up a little bit of it, although the ceremony is less in C#. Ceremony can be macro'd away, but verbose identifiers are more problematic.
I'd also argue that the scope and complexity of big Java apps is often larger and broader than most C++ apps: more libraries used, and at a higher level of abstraction. When you dance across the surface of many different libraries, good code completion makes your life easier. That is, the chief problem code completion solves is not intrinsic to any given language, but rather the absolute number of symbols used.
When coding languages like Ruby, I rely heavily on the interactive console (Pry for Ruby) in order to get the moral equivalent of code completion.
This is even greater! Text editors are not about code only, you know. Remember this¹? Released less than two weeks ago: Github now renders prose diffs. Why?
What if Github is going for an Office (or at least a Word) replacement? Author your blog, thesis, paper, novel, whatever, in a single polyvalent multiplatform editor, with the auto-versioned source stored in the cloud (Github’s), then use it as a feed for your blog, newspaper production flow, or other automated publishing environment…
Hope the fine people at the likes of Draftin.com, Etherpad.org, Penflip.com, Prose.io, et many alii, will survive this. The much acclaimed Editorially.com closed its doors already. Maybe the visionary folks at Substance.io might consider to start negotiating an acquihire.
I feel both exhilarated and a bit jealous: I know for sure I’ll need to put another side-project of mine down.
Move over, I'm hoping for a service-optional editor, also run locally hopefully. I don't mind adding cloud features, but not solely based on, as it creates the same problems closed source editors have.
Looks interesting! I saw a commit 24 minutes ago for "Prepare 0.7.0 release" in the Welcome package, so it looks like they're planning to go public shortly.
And I found a screenshot... looks very much like sublime text: https://f.cloud.github.com/assets/1424/1228569/cce6eb26-27a6...
edit: based on this[1], it looks like this is a GitHub-aware/integrated text editor that targets both desktop (Mac, at least) and web
[1] https://gist.github.com/elcuervo/eb68883f233baf5a46c8