Hacker News new | comments | show | ask | jobs | submit login
My next text editor (marco.org)
61 points by briangonzalez on Aug 10, 2012 | hide | past | web | favorite | 82 comments

SublimeText2 continues to impress me, and the more I use it, the more I discover to love about it.

As to the "not Mac-like enough" complaint, you can install the Soda theme (https://github.com/buymeasoda/soda-theme/) to make it more so, and it's configurable out the wazoo, so if there's something you don't like, you can probably fix it (and someone probably already has with a plugin). Just the existence of the package manager makes Sublime a better experience than most other text editors, because it's insanely easy to add additional functionality as desired.

TextMate is over? I guess 27 commits since yesterday is nothing then? https://github.com/textmate/textmate/commits/master

"Cursed at Emacs a few times in college."

I've had quite the opposite experience: I marveled at Emacs many times in college and have been delighted to be able to use it continuously on so many machines and OSes over three -- now starting on four -- decades.

Apart from the occasional sore hand from my bad habit of ctrl-alting with the same hand as I reach for the letter with, I have no complaints about Emacs.

I've been using Emacs since I was single digits of age. I'm at a decade and a half of usage now.

I keep using other editors and IDEs from time to time, to keep myself from getting complacent and to steal their functionality into the Emacs world, but I can scarcely imagine giving it up.

I like to think I'm a privateer sailing under the flag of Emacs, claiming resources for our community. :)

I must say I don't get this panicking over TextMate at all. If you liked it before, how can the open sourcing not be a huge plus? Surely there will form a development community around it now even if the main author will be less active and if you have an itch to scratch you can help it yourself. How can that be a bad thing?

Most of the love is for the original TextMate, which wasn't open-sourced. TM2 might come together if a community rallies. Then again, it might just be a fundamentally lesser product than the likes of ST2 that managed to storm out the gates.

So here's a meta question: how could we have a comment thread in response to this that doesn't turn into a flame war?

No more than about a post that dismissed macs as having a "Fisher-Price interface", I imagine. (I'm stealing that imagery from one of my professors--some of them really have a way with words.)

Moreover, we shouldn't let FUD like that go unchallenged--it might scare reasonable people away from trying Emacs. And that's a net detriment to the world :).

The Fisher-Price thing was widely levelled at Windows XP. In that case, probably due to the default blue and green look.

Hmm, I don't feel that saying his post is FUD really contributes to the goal of having this thread not turn into a flamewar.

Edit: also, my question was not a yes-or-no question, but you answered with a yes-or-no answer.

I guess I wasn't sufficiently clear: the answer is no, because spreading around the idea that Emacs isn't modern is counter-productive.

I guess your question wasn't "yes or no". Then the answer is: we shouldn't. If we ignore the fact that he claims Emacs/Vim are "very hard to learn, ugly, lack many modern features", people will start just assuming that it's all true. And, as I mentioned earlier, this will scare people away from truly great editors needlessly.

I used Sublime Text 2 on all my machines for over a month for Python and C. It was great for about 90% of the things. But I ended up going back to jedit because of:

- The way split views are handled for:

a. The same file in multiple views.

b. Non-global scope on 'Ctrl+P' in multiple views.

- Better Highlighter plugin. (The existing ones for ST2 don't provide the same features)

- The Hypersearch (and the overall search/replace dialog) in jedit is awesome.

On a quick search I didn't find the options to get these preferences, but I'm sure they will come to be, if they haven't already. (Please feel free to suggest the options if I'm overlooking anything.)

That said, the reason I switched back to jedit is because I was much faster in it even though I had got a good hang of ST2.

Aside: I never see jEdit being discussed in these editor discussions. Personally, I feel it's the best editor out there today despite being dependent on the jre.

It checks all the right boxes:

- GPL/Open source

- Free

- Cross platform

- Huge repository of plugins

- Amazing font rendering

- Highly configurable

- Really nice search/replace hypersearch feature.

- Great themes available

..and a lot more things.

Same file in multiple views is actually possible but difficult to find: Under file you have to say 'duplicate in other view' (or something like that, I use Vim now).

I know how to achieve it, (File > New view into file), it's just not as natural as jedit (You just open different views and the current open file defaults to opening in the new view too).

If there's a way to set this up in ST2, please feel free to comment!

Oh sorry. I thought you didn't know how to achieve it, because I knew that I struggled a bit since I think the implementation is really cumbersome and I didn't expect it to be that way. My fault, sorry.

the last time i tried jedit (admittedly, years ago) i found the font rendering on mac os x to be ugly. since it's on your checklist, i assume it's improved since then?

I haven't used it on a mac, but on Linux and Windows it looks pretty sweet.

Here's what it looks like on mine right now (looks same on windows and linux):

That's some python code with Consolas, Anti-aliasing set to 'Standard', and fractional font metrics turned on: http://i.imgur.com/j3Gsw.png

And fractional font metrics turned off: http://i.imgur.com/e2jhE.png

(I don't know if imgur does/performed any compression on it or not.)

There are also multiple settings for font smoothing, so you can tweak it to your liking. (Subpixel settings)

Combine this with great themes (even the light themes look unreal), I can't see why this isn't more popular!

I would be interested to hear what modern features are not possible in vim or emacs.

I'm curious as well. I'm able to do everything and more in Vim/MacVim that I was able to do in TextMate 1. Sure, it may not look like a "native" app, but I don't see how that should be an issue. You want to focus on the text, not the pretty box around the text.

Edited to add: Granted, a lot of the niceties have to be installed after the fact as a plugin, and are not built in. Where with Sublime Text 2, perhaps a lot of those things are there from installation.

Marco talked in Build & Analyze about loving multiple cursors, which I believe emacs/vim don't support: http://www.youtube.com/watch?v=o5bPRhFHEz0

Some Emacs extensions that implement Sublime Text features (and IMHO are better than their ST equivalents): mark-multiple[1] and CUA (builtin) for multiple cursors, helm[2] (formerly "anything") for file selection that allows quick previewing (C-z) and much much more, mini-map[3], and expand-region[4] (not sure if this is inspired by a ST feature but it is nice nonetheless).

[1] https://github.com/magnars/mark-multiple.el

Video: http://emacsrocks.com/e08.html

[2] https://github.com/emacs-helm/helm

[3] http://www.emacswiki.org/MiniMap

[4] https://github.com/magnars/expand-region.el

Video: http://emacsrocks.com/e09.html

Something like that is also VERY easily accomplished with macros. The added benefit of macros is that you can then store that "edit" in case you need to replay it later.

In VIM, you can edit multiple adjacent lines at the same time. You can place multiple cursors at random lines though and start editing. I think I saw a plugin for that once, though.

Did you mean to say “can't” in your second sentence?

Yes, sorry, wrote it in a hurry.

In osener's reply to your comment, mark-multiple.el is mentioned; here is a talk from the developer that demonstrates using the feature many times.


For my part, it wasn't so much that plugins weren't available as it was trying out multiple versions, installing them, configuring them, and troubleshooting them. Sometimes they'd make Vim much slower, or break altogether.

Much of what I wanted out of Vim worked right out of the box in ST2, and with minimal fuss.

Refactoring and intellisense. You can do those to some degree in vim, but eclipse and visual studio do it better.

I'm still using vim though, because i don't really need those features that often, and i feel handicapped in other editors.

Intellisense depends on the language. For C, C++ clang_complete is fantastic. For Javascript, Python, Ruby, there's also static analyzer based completion. IMHO Vim is pretty advanced there.

>I would be interested to hear what modern features are not possible in vim or emacs.

None technically.

There still isn't a very nice IDE/Analysis-refactoring engine for Java in Emacs, but there is one for Scala oddly enough.

So there are rough-edges, but the point is that Emacs is a programmable environment that belongs to you and the larger community, not to a solo absentee developer. You can make it do anything you want.

> ...but there is one for Scala oddly enough.

I don't think this is odd at all.

There is also one for OCaml and Haskell. (Well, maybe the Haskell one isn't as good, but I haven't tried it.) in my experience, far more functional programmers like Emacs/Vim and far more Java people like Eclipse/IDEA.

So in the Java version, the people who care over-much for IDE features already use an IDE and aren't going to spend time improving Emacs. In functional programming land, people are less worried about IDE features and so don't use IDEs. However, these features are nice, so people are willing to spend time writing backends like Ensime or TypeRex that can be plugged into Emacs.

Ensime is truly heavenly. <3

The cultural note seems to be more or less on point but I would make it less about Functional Programming than simply..."avant-garde".

> I almost picked Chocolat, but its performance problems gave me pause.

I've been using Chocolat and loving it for the past month -- I feel like it hits exactly the right balance between minimalism and features. It does everything you need it to do, and exactly nothing more.

But performance is definitely its biggest problem by far -- everything starts out fast, but after a few hours CPU usage goes way up (even when you're not doing anything) and saving trivially small files takes several seconds. Basically, you have to restart the app every couple hours to keep everything running well.

But as long as development continues actively, I assume (hope) problems will be fixed...

I've only ever had two true loves, when it comes to text editors. Like Marco, I was happily married to TextMate for a good 5 years or so.

But over the past few years, I've slowly gotten over the divorce, and found true love again in `vim`. I recently added 'tmux' to the mix, for the ultimate perfection of a ménage à trois.


Sublime Text 2 won out, just barely. I had the same experience, but after 6mo of fulltime use of ST2, I'm a diehard fan. It still needs to be improved in a lot of areas (project wide find/replace is not optimal), but I have confidence the developer and community is progressing faster than any other text editor.

Seems like a good place to be

I laughed at the thought of neckbeards cursing their screens when they saw VIM and Emacs under 'Alternative Lifestyles.'

I also use Sublime Text 2 (both OSX & Win7). Is there any hotkey cheatsheet/tutorial available? I'm 99% sure I'm not taking advantage of countless power features because there's no way to stumble upon all the features.

Also, Marco used "Samsung-like resemblance". Phrase needs no explanation.

"Preferences -> Key Bindings - Default" will show you all the configured key bindings. It's a lot, but it's all in there.

This is my preferred reference: https://gist.github.com/1839777

For bonus points, there are a million forks of that gist that have even more complete lists.

Not a lot of BBEdit love going on in the comments, so I'll throw this in... I switched from TextMate to BBEdit when 10.0 came out. Haven't looked back. There was a brief adjustment period, and I had to do some customization to cope with the change (default font is way too small, for instance). But it's been long enough now that I'm pretty sure I could switch to stock BBEdit, and be happy.

Rock solid, deep feature set, good support, will never go away... what's not to like?

Ok well, there are some things I don't like:

1. needs better syntax highlighting support 2. needs to adapt to languages better (e.g. native syntax check scripts for most languages, autocomplete) 3. search dialog could use an overhaul. 4. default font / color scheme isn't to my liking.

What was my point? Oh yeah, I like BBEdit.

BBEdit does take some adjustment but I find I'm really happy with it now that I've settled in. I gave ST2 a shot for a few days this week but found myself missing BBEdit - which is a good place to be since it will probably be around for a long while.

Are you using ctags? The syntax highlighting was making me a bit nuts as well but using ctags clears much of the frustration:


It still isn't perfect, but much better than the default highlighting.

My two must have tweaks aside from ctags are to change how long autocomplete suggest takes (way too long by default):

defaults write com.barebones.bbedit Editor_AutoCompleteDelay -float 0.1

And unchecking suggest dictionary words for autocomplete, but adding it as a custom setting for markdown.

I found this to be a good, affordable resource for suggestions on how to get the most out of BBEdit:


Unfortunately we don't seem to have the strong community editors like Textmate do - so this books was a good way to find some neat tricks I hadn't seen elsewhere..

Hacker News title should have (mac) in it somewhere. I was very disappointed after opening it up :P

For future reference, Marco Arment (marco.org) is a notorious Apple fanboy (I hate to use the word, but in this case it's apt) and troll. Anything he writes is guaranteed to include smug Apple boasting and/or jabs at all things which are not.

For example, I wrote the above statement before finding this in the article:

"Chocolat: Very young, active development. It has the most modern Mac interface, but it also bears a creepy, uncomfortable, Samsung-like resemblance to TextMate: it’s effectively a TextMate clone with a few new features added."

Never fails.

> For future reference, Marco Arment (marco.org) is an iOS developer, and Apple enthusiast. He's also fairly opinionated. Anything he writes is guaranteed to include a strongly stated opinion, usually backed up with facts or at least a rationale for why he holds that viewpoint.


IMHO, his major failing is when he shares opinions on things he doesn't know much about. Saying "well, I haven't really looked into this much" should be the end of the sentence, not the beginning.

> Fixed.


You must really be fan because that's another thing Arment likes to do. He writes snarky "fixed" versions of quotes from people saying remotely positive things about Android or anything that can be construed as negative about Apple.

Opinionated, certainly, but I've found next to nothing in the way of facts in his arguments and rarely even a stated rationale.

Face it, Arment is exactly what I described, even he knows it. He demonstrates it with pride:


Three posts over the course of a year and a half from a guy who posts 70+ times a month.

So he's a whole 0.23% critical of Apple?

Great point!

Seriously now, we both know the truth, stop grasping.

Of course, because when I'm trying to argue on HN comments I always do comprehensive statistical analysis.

I cited three articles, found in a couple of seconds, not the entire corpus of Marco's on-record statements regarding Apple.

"Fixed", or more popularly "Fixed That For You" (FTFY). Is a common internet-ism, found on message boards, reddit, blogs, etc. definitely not exclusive to Marco, though now that you mention it I do recall seeing him use it.

Meh. What if the Android phones he picked up weren't satisfactory to a guy used to Apple products? He recently praised the new Google 7" tablet.

Troll? We're not 15 year olds, than you very much.

Marco rights his opinion. He's pro-Apple to a degree I don't much like, but troll is a stupid accusation. He's not some teenage 4channer linkbaiting....

Yeah, emacs is not hipster-compatible.

Hey can we stop this please? This does not in any way, contribute to this discussion and calling someone a "hipster" does not make them so.

And really what someone uses as their text editor is their own opinion. It's just a text editor man. He can use ST2 if he wants. It's an awesome text editor.

I'm actually moving away from Vim to Sublime Text just because it feels more native and modern on my mac. I love the Package Control plugin and I'm already learning some cool new stuff about it.

1) Arment's style solicits this kind of response. Trust that the suggestive title "alternative lifestyles" and simple dismissal of emacs while admitting no actual experience was absolutely intentional.

2) It's widely understood that Arment is a hipster, though his cred is slightly lessened now that he moved out of Brooklyn to Westchester.

1) Isn't it possible this is just "being clever and writing well"?

2) Where? By whom? What are you calling a hipster? By an standard, a man who listens to Phish CANNOT be called a hipster. Please avoid assigning categories (especially derisively) to people, especially categories that you do not understand .

1) You know, now that I think about it...no. I don't see anything particularly clever about intentional flamebait. I'm sure it drives plenty of traffic that wouldn't otherwise care to visit the site, but not particularly clever.

2) Please avoid attempting to refute one anecdotal statement with another.

3) I'm famous. The Marco himself has taken notice.


1) meh

2) meh

3) lol

I also used Textmate 1 for the better part of 5 years. After that I slowly migrated to Vim because I liked it's text selection / text movement language so much.

Now I guess I arrived, I'm rather fast with Vim. I took a long time (at least a couple of weeks) of continuously refining my MacVim until it's not so ugly anymore; in fact, I think it looks pretty good.

Apart from that, I also played around with Sublime, and I like it a lot, I'm just so used to vim now.

I don't want to blow your mind or anything, but check out vintage (vi) mode for Sublime Text.


Almost every editor/IDE around has a vi emulator. The problem is they never have all of vims features, and it doesn't take long until you discover <favorite feature x> is not there, and then the emulator is effectively worthless at that point.

True, but sublime's is pretty good. I'm a long time user of vim and though I've only used ST2's vim mode a little, it worked well.

I just tested and it even does the ci" ci( stuff right. It isn't VIM ofcourse so it can't do everything, but it's enough to get by either to use for just a little while or as a transition to a new editor.

My big complaint with ST2 is that the glibc we have at work is too old to run it. I tried to compile a newer glibc in a prefix, however the ABI changed between what we have and what ST2 needs, and the system ld-linux.so won't work with it.

I haven't figured out a way to have linux use a ld-linux.so in a prefix yet. I don't think it's possible :(

I remember feeling like sublime's vintage mode implemented some of the things from vim, but not enough of them to make me switch. Then again, if one is looking so hard for an application to imitate vim, why not just use the original?

Such plugins are addressed well in this article from earlier today: http://haldean.org/docstore/?vim-problems

I tried vinzage, even added some extensions, but the subtle differences killed it for me.

"Development has just been open-sourced after 7 months of going almost nowhere, so it’s probably safe to assume that it’s effectively abandoned."

I can see why one would make that assumption, but I wouldn't call it a "safe" assumption. It might just be the contrary: development may pick up speed given the massive fanbase that TextMate was able to gather.

Notepad++ is still alive.

And still works only on Windows. I think Marco is a Mac developer ...

This thread is doomed to become complaints from vim and emacs users. I agree with Marco on the hard to learn, but mainly the ugly comments.

As a recent convert to ST2 from eclipse, I agree with his choice. Also, recently having to use windows at a client site, a portable version of ST2 has been very comfortable.

Emacs doesn't have to be ugly: http://inst.eecs.berkeley.edu/~tikhon/img/prettyEmacs.png

The reason Emacs users come out is simple: there is an absurd amount of anti-Emacs FUD spread by non-Emacs users which can scare reasonable people away from using it. If nobody disagreed with it, it would seem true. More perniciously, people would start assuming that it was the case without questioning that assumption.

I will agree with you on that, provided vanilla emacs ships with such a pretty GUI like sublime text 2 or like the image you posted.

I have enough work to do already. Customizing the editor to look like that has got to be somebody else's job.

I like Emacs, but "pretty" is hardly the first thing that comes to mind when I see that screenshot.

>This thread is doomed to become complaints from vim and emacs users

Well if people would casting aspersions about tools they don't understand or use.

It's like a bricklayer criticizing the utility of Category Theory.

Except with programmers, it keeps happening, so the defenders of the faith keep popping up out of necessity.

Compare/contrast what you know, don't include things you don't use or understand for the sake of comprehensiveness.

if textmate2 is opensourced, why isn't anyone picking it up and creating a community around it?

The code release was _yesterday_. Give it some time, I'm sure it'll gather (or fail to gather) a community. Mind you, Textmate 1 has had a huge fan-following, and they might just migrate to v2.

It already has a community around it, it is not abandoned and it's only been a day since they released the source...



>"very hard to learn" re: Emacs

Hrm. Decidedly not. It's a nominally modeless editor with no complicated mental creole to translate into from verbing the text like Vi.

On the other hand, to really get much more out of it than what you'd see in nano or pico, you do need to learn stuff. It's true it's not as bad as Vi in that it doesn't make you drink from the firehose, which I think was your real point. But if you just use Emacs as a glorified TextEdit, why bother?

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact