Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Sublime Text 4 (twitter.com/sublimehq)
83 points by sashk on March 31, 2021 | hide | past | favorite | 50 comments


Although I use PyCharm as my daily IDE, I nearly always have a Sublime Text instance running in the background. I use it for note taking, small scripts, and so much else.

Granted, PyCharm is likely capable of most of the same things, but there's something about Sublime Text that is just so... frictionless. I don't feel like it expects anything from me.

The rise of VSCode has saddened me in certain respects. VSCode is great, and if I didn't have PyCharm, I would probably end up using it instead, but there are still certain things that it can't quite (and likely never will) surpass Sublime Text in (record/replay macros, power usage efficiency).

(I do hope macros will be improved to run all commands, rather than just text commands, but that's likely low on the list)

On a different note, I still consider the development of a continuation-like mechanism[0] for Sublime Text's API as one of the things I'm most proud of creating (if I recall correctly, Python's Asyncio library was still in the early stages back then, and `await` hadn't even been proposed).

Anyway, I just want to say, thanks Jon and Will, Sublime Text has had such a positive impact on my life as a programmer.

[0] https://forum.sublimetext.com/t/using-generators-for-fun-and...


I also used to feel saddened by VSCode's rise. Thinking that Microsoft had essentially ripped off sublime and made an inferior version of the product I loved. I resisted VSCode for a long time.

And then, I ran both VSCode and sublime... But now, I just run VSCode. Sublime is better at getting out of my way, but VSCode is perhaps the perfect IDE. With the best of both worlds of what sublime offered, and what heavier IDEs offered.

There are lots of things better about sublime, but VSCode has better integration with _everything_, making it the version of sublime I always wanted.

Before I switched to VSCode, I spent a few evenings trying to get Omnisharp to work in sublime. I got it working, and the UI was kinda bad. I gave up, and switched to VSCode.

It's really the extension API, and the community plugins for VSCode, and of course Microsoft direct support for c++/c#/everything else.

VSCode is going to take over all IDEs. I'm certain of it. It's so good.

Sublime is cleaner, and there will always be a place for that (vim, anyone?), but the plugin ecosystem for VSCode is reaching that critical mass point.

Our developer experience for building and debugging c++ in VSCode is unmatched. Not to mention the docker integration, and the ease at which custom tasks can be built.


Agree.

When VSCode launched, people were hyping it like mad ( On HN anyway ). It drives me crazy because they keep claiming it was very fast. Which isn't a fair assessment since most of them were using Atom ( from Github ) or any other editor / apps based on Electrons. Compared to best Editor in the category, Sublime, VIM or BBedit, TextMate, fast should not be a word you used to describe VSCode.

But then over the years Chromium, v8 and VSCode keep making performance improvements VSCode suddenly tick the box of good enough. And after years of CPU performance stagnation, VSCode on M1 is surprisingly fast. Still not Native App speed with many extension, but then I hope CPU performance will continue to improve along with further optimisation.

With the huge ecosystem around it and being free for all users means it will be hard for anyone else to compete in terms of mass adoption. In terms of Editor and IDE, I think VSCode is close to hitting the perfect spot.


My problem isn't necessarily speed, but power consumption. VSCode (without any language servers running) uses quite a bit of power.


What is your actual use case for developing on battery power? Especially during this Work From Home era, aren't we all pretty stationary?

I do c/c++ on a desktop during the day, then on the couch on a small ultrabook in the evenings. Battery is definetly more of a limiting factor if you have an laptop with an old battery, I suppose?


I use VsCode+Sublime the same way you use PyCharm+Sublime. Vscode feels like a heavier ide to me with all the extension 8 have set up, but Sublime has always been quick, lightweight, and able to handle anything. Whether that's note-taking, skimming a hex dump, looking at arbitrary Csv's I've always been happy.

Although maybe I'm biased ever since Sublime introduced me to the concept of multiple cursors. It's so engrained now that it's the first thing I change on a fresh vscode install


I wish more things had multiple cursors. Imagine if that was standard. Especially for certain text forms...


I love Sublime Text and will be upgrading when ST4 comes out.

VSCode has one distinct advantage though: it’s remote SSH editing plugin (which has a proprietary license and closed source). IMO, the remote SSH and related extensions is bar none the distinguishing feature of VSCode in that it is so good and there is simply no competition. Every other feature has at least a worthy/better implementation elsewhere (ST, vim, or emacs).

Is there something similar for Sublime, either builtin or native? I’d delighted to be corrected.


I have used an rmate (1) compatible extension for remote editing in st3. Not as polished as the vscode solution I imagine.

(1) https://github.com/textmate/rmate


You could always use something like sshfs. But it's slow and unstable indeed.


The beta of st4 is available if you have a license.


What's so good about VSCode's SSH editing plugin over emacs' tramp-mode?

Does it runs shells and LSPs remotely for you? Emacs can run eshell remotely, but LSP support is still lacking AFAIK. (I'd love to be corrected. xkcd.com/386)

Can you hop through different connections? In emacs you can open a file in a private machine that's only reachable through another one by just opening,

    /ssh:me@public-host|ssh:me@private-host:/path/far/away


Yes, yes and yes.

The remote plugin effectively lets you work on a remote machine (or OCI container) with your local VSCode instance, as a matter of fact it's the setup I'm using right this moment. This includes remote language servers, remote shells and even remote-specific configurations.

I'm a diehard vim user. I used to do everything in vim. Even my undergrad thesis was proudly written with vim.

This is the feature that single-handedly made me switch to vscode.


I love SublimeText. In a world full of VSCode & friends; there's something to be said for an app like ST that does one thing and does it well.


Yep, I have an emotional attachment to this thing. Such a magnificent piece of software. Everytime I need to edit something, it's right there for me. Launches instantly, can handle a kitchen sink thrown at it and regexes like there is no one's business. Multiple cursors is something that even god doesn't have. Not to mention, it is absolutely blazing fast. It doesn't betray me and stab me in the back with Micro$oft telemetry.

Sublime Text is like a finely crafted precision tool in the shop. Sure, it doesn't have all the bells and whistles, but it is undeniably a reliable tool and does what it is supposed to do well as you said.


Sublime Text was my favourite editor, but since a couple of years now been using VSCode ( extremely slow in comparison to Sublime at the time, but not very noticeable once I bought my MacBook i9, which cost me my eyes and only from that time was bearable).

I remember watching loads of talks or even knowing about well payed developers who didn't pay for the license.

I don't understand how someone who makes so much money was not capable of paying for such a small fee, for something they seemed to be using to do their work...

That says a lot.


Interesting, but I don't think I'll switch from VS Code now. It's pretty good despite not being native.

And sublime doesn't do FreeBSD.


We don't have an official FreeBSD port, but it seems to work under Linux ABI compatibility: https://rainbowhackerhorse.github.io/Dave-Null/


I'll be updating. I want to check it out. It is the only piece of proprietary software I still use and I love it.


I’ve been getting into emacs for the last year and the only thing I don’t like is leaving ST. And that still ALMOST outweighs all the pros combined. So +1 for updating is my point I guess.


ST2 was a godsend to me throughout college and holds a very special place in my heart. Five years later, I always have it open and use it to take notes. It's so simple and honestly beyond editing code, it serves as a buffer to hold random thoughts/drafts/copy/files/etc. It's also the best way to run quick transformations to text (regex search/replace, Text Pastry, etc). So thank you to the devs. I'm excited about ST4 and will use it when it comes out.

But, I wonder, at this point, what does it take to beat VSCode? What're the key things that seem to be missing and are they part of the roadmap?


Any improved LSP support? And more user friendly extension installation.


LSP support I believe has greatly improved (and there is a dedicated lsp channel in the official discord server with the LSP plugin devs actively answering questions and providing support) since it has taken advantages of the new API's in ST4. Also, they have also started expanding out concepts of LSP helper packages that configures sane settings & the lsp server be default so that you don't need to download & configure the server yourself.


We have added a number of API endpoints in support of https://packagecontrol.io/packages/LSP.


I always wondered how the business side of things were going with sublime. How much money they are making, how many license do they have, the evolution of new license subscriptions with time, the influence of the arrival of Atom and then VSCode, etc. We'll never know for sure, but that would interesting to get a peek behind the scene.


Looks like I’ll give it a try again! I mostly prefer ST over VSCode, but for debugging C# on Windows VSCode is a lot better (and not as heavy as the full VS). Nonetheless, VS for C# + ST for everything else could be a good combo.

On macOS I’ve switched to nova, although I might check out ST again


Do the improved pop up and autocomplete mean language server support?


ST does not have LSP support by default, if that's what you mean. You still need a package like https://packagecontrol.io/packages/LSP + (either a language server or a LSP-language package) to provide IDE like completions for a particular language. What ST4 provides is much better API's to help LSP in providing & presenting completions (Like async completions, revamped AC UI etc) and a lot more !


Any 'virtual cursor' fans here? Do you know if v4 supports it? It is a long time requested feature, but not as common in recent times...


What's a virtual cursor ?


It allows you to move the cursor up/down w/o regards to the end of line. If you move the cursor up to a line and you are passed the end of line and you type 'c', then a bunch of spaces are added then the 'c'. Basically it allows you to move up/down and have the cursor stay the the same column instead of moving left/right to hug the end of line...I really like it :-)


Will an existing registered licence still work like it did between ST2 and ST3?


Yes. An existing ST3 license will work just fine for using ST4. Depending on when the ST3 license was purchased, there may or may not be an upgrade fee (but nothing has been told with regards to it).


I thought I had to buy a new licence for 3 but maybe I'm misremembering


I hope the search all feature becomes as smooth as searching on VSCode.


Please Gods, let them finally facilitate relative line numbers


You will be in luck!


Any chance to get Apple silicon support and a terminal integration (like VS Code) as well?


I believe Apple Silicon Build might not happen anytime soon because Python 3.3 cannot be compiled for it (which means nearly 99% of the packages won't work on such a build).

Terminal Integration also is something that may not happen, but Terminus, which is a terminal emulator package for ST, works really well & is a good solution (The best probably).


Why can't Python 3.3 be compiled for it? Even if python.org don't go and do it, it's entirely possible the build system changes required could be backported.

Also, why not just move to 3.9?


That's a technical detail which probably one of the core developers might have a better answer (I don't use a Mac and am not aware of how Apple Silicon Builds generally work).

As to dumping 3.3 and solely relying on 3.8 (not 3.9), I don't think the developers think it worthwhile to dump an entire package ecosystem built in the last 10 years just for a native build.


Just upgrading to 3.8 would drop support for a fair number of plugins - python is only somewhat source backwards compatible and not at all binary backwards compatible. As for why 3.3 is difficult to compile for macOS ARM, the 3.8 port is actually a fairly large changeset that would need to be back-ported and tested for 3.3.


Are the plugins loaded in to the main ST process (using an embedded interpreter)?

A subprocess plugin architecture that used IPC to talk to the text editor would solve the problem, since the plugin host process could probably remain x86 and run under Rosetta.


5 days later... this was proven wrong. ST4 4100 is now native silicon.


The man himself, thank you good sir, this was the one thing that moved me to Electron editors way back when with their latency and lesser Vim emulators. Thanks for the years of hard work


That is already possible in ST4. It is controlled using the `relative_line_numbers` setting.


What are relative line numbers?


When is the launch then


The developers have not given an explicit launch date and the general idea is it'll be released "when it's ready", but given the twitter post, it might as well be "very soon".


Eww, proprietary software...

/s (but not really)




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

Search: