And then plugins would conflict sometimes, but there were no answers online to why something wouldn't work because the problems were obscure and rare.
Also, there was some simple copy/paste problems (limitations?) on Linux as well.
I liked it so much that I dealt with all of these issues from nearly day one without complaint. I had tried VScode, and at the time Sublime was just faster smoother and all around more polished.
But I tried VScode about a month or two ago, and it came default with features that I had to use a few plugins (with overlapping and conflicting features) with Sublime.
I was actually sad to switch to VScode, simply out of principle. But VScode is built how I would expect an editor to work by default, where Sublime, as fast as it is, lost some zip after a few too many plugins, and actually has fewer features (that I really require/use frequently) than VScode does.
Also, vscode greatly simplified settings, snippets and other text based settings that I think Sublime could take note of.
Edit: Another note, because VScode comes default with many features, the keyboard shortcuts seem a little more consistent.
I hope Sublime steps up their game, as I think VScode is standing on their shoulders, and competition is good.
But while actually coding, I can't tell a difference, and in some cases VScode is faster than Sublime. (in my experience)
But faster doesn't help me when code complete doesn't work correctly on one file for no explainable reason. (and the myriad of other "small" bugs that wore on me...)
But, for web development, I feel like a second or third class citizen using Sublime. Maybe that is the separating line between these two apps?
Could have been a plugin not scaling, but I didn't care to experiment and find out for sure.
Sublime seems clearly faster on Windows 10 for me though.
I tried Sublime Text a couple years ago.. and gave up with trying to get all the plugins I needed up and running, on the other hand, I really hate using Visual Studio or VSCode, I constantly run into annoying bugs, crashes, and incompatibility issues with plugins. I have to restart Visual Studio 2017 at least thrice daily to get around minor things like "build project" no longer running fully. Perhaps its just Nostalgia speaking, but I almost miss the days of Visual C++ 6 (using Visual Assist)... it may have lacked features, but at least it never crashed.
Sublime is created by a small software shop and they need money to run the shop while Microsoft is a multi-billion dollar company. Microsoft can afford to give away free software for some goodwill from developers.
Its kinda a unfair comparison.
PS - I understand what you're saying, but I thought it was funny you claimed you don't have an account on a website that requires registration for commenting. Welcome to HN!
For me personally, that price is nothing. I would pay twice as much and each employer had to buy it if they wanted me happy in text editor regard.
It's roughly one week of food where I live; so not free, but something I would afford if it brought a net improvement to my work.
On a separate note, a friend described their backwards approach of validating licenses on every launch of their app, which creates a de facto 'telemetry' system since license hash is submitted to their servers and they obviously have access to other info such as IP.
So even though I quite like the software, I've discontinued use due to the high cost and also due to the inability to opt out of external communications that'd allow them to keep tabs on you and your usage. To be fair, I was not keen on Microsoft's telemetry in vscode but that can be disabled and even better, vscodium removes it completely.
I’ve given away 30+ SublimeText licenses in the last 5 years, mostly to students.
If you cannot afford paying $80 for a license, ping me via email and I’ll buy one for you.
My email is 0x636978746f7264732f61742f676d61696c I’m looking forward to talk with you.
If I buy a license, does that cover potentially upgrading to the next major version? If not, is there a roadmap for version 3?
Expensive is very much subjective
Granted, if I knew how to as productive as I am with Sublime Text with Vim or Emacs, I would switch over in a heart beat.
I tried working with Vim exclusively when I started my job ~2 years ago, and my terminal would hang quite often that I had to abandon it (I use ConEmu which is free, but hangs quite often).
I also work on a Windows machine and do not want to use the windows command line, I prefer git-bash/mingw32.
Things are really fast and stable. I often have 10 Vim instances open across half a dozen tmux sessions. Each one takes up about 8mb of RAM with ~40 plugins doing everything I could ever ask for in a code editor. The only time they get closed is when Windows decides to reboot but then I can automatically restore the tmux sessions with 1 hot key.
I switched to Vim last month after I found VSCode to be unusable for editing a 1mb a markdown file (it used over 50% of my i5 3.2ghz quadcore just idling with the file open). I wrote about the experience at https://nickjanetakis.com/blog/vim-is-saving-me-hours-of-wor....
Haven't looked back since.
I'm looking to change jobs, so hopefully when I end up somewhere new, I can get a new laptop and try to start with vim. After reading @frosted-flakes comment, I was messing around a bit with vim yesterday, but went back to Sublime because of familiarity with commands for navigating through files.
I'll get to vim one day, just happy with where I am at now.
Was reading through your article and noticed your comment about managing windows in Windows. Did you try using the windows key + left (or any of the other directions)?
Here's a video of that: https://www.youtube.com/watch?v=fxerpQ8WK8Y
Yeah I use the window key + arrow key shortcuts a lot but it's not the same as a dedicated window manager. Thanks though.
subl is notably faster, its also a very well rounded editor with a tiny memory footprint...
But I also have the issue that the plugin support is abysmal, that sane defaults are non-existent and it takes a long time to get things to work well with a very popular web techstack like React, Styled Components, eslint.
Even now there are times when the syntax highlighting is wrong.
It would do subl a great service if they improved the package management and created a number of officially supported packages for popular techstacks that allow people to simply (ideally) 1 click configure the editor.
I shouldn't have to read a 15 minute Medium tutorial on how to configure eslint, IMO that is ridiculous.
This was exactly the same problem I had. There were so many options that just didn't work well that I wasted tons of time trying out every plugin I could find to solve my problems.
And I still didn't fully solve it, I just gave up and lived with annoyances.
Edit: I perceive VScode partially solved this problem with the download count/voting on extensions.
Say what you will about Microsoft, they sure know how to make IDEs.
Like you, I felt a bit sad to switch from Atom, but the difference in quality was massive. I guess that's the difference between having a bunch of smart people who have developed enterprise software for a while working on an Electron App, vs. younger, equally smart folks working on an app without that wealth of experience to draw on for developing a complex application.
Gladly it’s not like you can’t have them both so there’s not an actual choice problem here. Just use whatever you want for the right job.
I'm eager to know because I'm working on an editor for Chrome OS (based on the Monaco editor from VSCode) and would love to know whether they are part of Monaco or extras that only ship with VSCode.
If anyone's interested, here's the (very recent) announcement post: https://www.reddit.com/r/chromeos/comments/ax8pi3/archetype_...
1. Package management / Extensions. Vscode comes with this right away, Sublime you have to install a package manager to manage packages...-sigh-
2. File icons. (this may seem dumb, but man it should be a simple thing to have defaults for...)
3. Git integration (though seems they may have caught up on this?)
These are just off the top of my head...
> File icons
> Git integration
Of which the only support answers online are "uninstall plugin/test". So I had to choose which plugins to keep for certain features/functions. It was too messy.
Sometimes I couldn't tell if it was the base features of Sublime that were conflicting with a plugin, or two plugins conflicting...
The seemingly unfixable bugs from plugins are what pushed me towards VScode. Where even if there are plugins/extensions, I need fewer of them, so less likely to have conflicts.
I've been playing with Archetype recently in conjunction with VS Code and I have to say, you've been doing a great job!
Keep it up my dude!
Shouldn't cause any issues, just thought you'd want to know. Cheers!
I currently use Codemirror  as the online editor, but when editing online, I do miss a lot of the tools available in VScode.
Do you have an opinion of Monaco vs Codemirror? (I think codemirror is used internally for some Firefox dev tools...)
But I didn't stop using Sublime. I set a keyboard shortcut to launch it, and thankfully it doesn't open multiple instances if already running but pops up on foreground. And now it's my scratchpad, a temporary clipboard, a distraction free zippy screen where I compose my messages before mailing them. And its probably my most used application, lately.
That's worth the price of admission alone. Several times over. I've never been this pleased with an editor, ever.
I don't need fancy refactoring tools. Find across files has done wonders for me, and when I need to get real fancy I break out the regex. Ctrl+d to duplicate my selection; multiple cursors; these two alone cover probably a good 99% of my refactoring needs. I used to like having an IDE where I could click an icon and it would build things for me, now I can't stand one. I just set up a file watcher in a terminal in the background and it rebuilds whenever some stuff changes. I use Makefiles or redo or even just a simple shell script whenever I need something fancy with dependency management. I've not missed fancy build integration since forever. Whenever I need to debug something, gdb or in-browser dev tools or whatever is suitable for the context I'm in will do more than fine, I don't need an integrated window in my editor.
I appreciate that sublime is just a bunch of tabs of text buffers, a simple file browser, can handle ridiculously large files with ease, doesn't consume much resources, and is stable as a rock. I've found I don't need anything else. It's like what I imagine my cool friends who use vim think of their editors, only I'm too stupid to really "get" them. It's ok. Sublime is my Fisher Price version of vim I guess, but I love it to bits. It's paid for itself many, many times over at this point.
- My font size is 22 or 24 points. Not because I'm blind, but because it forces me to not type lines too long, or files too big. It keeps my code concise and to the point. Also the font I use (Menlo) is lovely and I just like looking at it sometimes.
- My lines wrap at 76 characters. Basta.
- I'll have multiple windows of sublime open for weeks, months sometimes. Half the time I don't even know what windows or buffers I have open. I just did a "clean up" and closed about 10 of them. It was like a trip down memory lane of the last year. Most of these windows had buffers I had never saved – not even once.
- Aside from a bats syntax plugin, and the material theme, I have no plugins. Unless you count the package installer I guess.
- Sublime is my editor for git commit messages. I love it.
- Most of the time when I need to write something long form, a long email, an article, anything really, I'll do it in sublime first and then copy into a word processor for layout and other things. If I need to update things, the sublime version is the source of truth, and I'll just copy/paste into Pages or whatever I'm using at the time for layout/design.
- Not gonna lie, sometimes I think about writing a plugin for sublime to use it as my email client. I think it'd be wonderful.
- Sometimes I just open up a new sublime window and start typing random stuff; a short story, some thoughts, or just random words. It's like therapy in a way. I never save these buffers, or at least very rarely.
Sublime is the single most valuable piece of software I own, and I'm very glad to have paid the price of admission.
* Git integration in the sidebar: https://www.sublimetext.com/docs/3/git_integration.html
* Diff tracking in the gutter: https://www.sublimetext.com/docs/3/incremental_diff.html
While there are packages that provide diff tracking (I've been using GitGutter for a long time) these changes will finally allow themes to visually customize both the git status in the sidebar tracking and the gutter marks, which is great news!
Back on topic, I got my Sublime licensed since 2014. I have been enjoying it quite a lot since then. The not-so-subtle performance differences between the two editors make me always come back to Sublime. I’ll still be checking VSCode in the near future, though, since to me it works a bit better than Atom.
I gave Sublime years of my fulltime attention, many, many hours of use, debugging and testing. It's not a "hype train" decision for me when VScode worked properly out of the gate, and I got no bugs (besides one syntax highlight issue recently fixed...) slowing me down.
Performance wise, Sublime opens faster, but after all the plugins I needed, it sometimes seized the entire interface up for seconds at a time, or during scrolling. This was rare, but it did happen.
Opening quickly doesn't matter if you open it's once a day. But consistent minor bugs grinds the motivation right out of you.
Edit: Sublime started an editor revolution, and it's great, but it's not perfect for everyone.
Performance difference used to be palpable 1-2 years ago, not so much now. VSCode is on par with Sublime text in terms of speed(at least for me). I still have Sublime text open all the time for quick note taking, recursive searching etc. but for any coding work, VSCode seems way more polished and gives a better development experience.
I do a lot of work in Rmarkdown and I like Sublime's spell checker best. I especially like the subl command line launcher on MacOS and Linux...
With that said the latency in typing with VSC drives me a little bit crazy every day...
VS Code: https://i.imgur.com/UsEhfO3.jpg
As far as I know, our syntax definition is pretty spot on with the current state of the language and I believe supports all of the stage-3 proposals in TC39 (see https://github.com/sublimehq/Packages/issues/1269 for more info).
I'm not sure what else you may be looking for in JS projects, but there are certainly tons of third-party packages for things like linting and so forth. Myself, I tend to run Sublime Text pretty vanilla as I use a full terminal emulator to run tasks like tests, linting, builds, etc.
A couple years ago it was Sublime, today it's VSCode, in a year or two I'm sure they'll all move on to something else.
For example GoSublime now requires an out-of-band manual install (cd into some directory and git pull), and I haven't been able to get build errors to show up in the UI at all for several weeks now.
However vscode-go seems to just work and is sponsored directly by MS. I know Sublime can't do this and I don't want to switch (I've bound multiple licenses over the years). If they ever get the performance of Electron to match that of native, I won't have a reason to stay on Sublime.
Ctrl p and finding a file on a massive code base takes forever in vscode whereas its 100ms in sublime. Vscode also seems to need to recache the file names each startup.
When using sshfs or similar to mount a remote fs to work on and have the file name search play nice is also in an unusable state. Using the remote's linters, git, etc would also be great.. But non existant. Easy enough to ssh in the inline term, but that's not integrated for the plugins etc to pass thru.
The file search really sounds like it should be easy enough to self fix. (so can partial search a path, parts of a name and all that factors for a refined search return.. As well as caching those result sets more persistently.)
What might be a good way to create a nice lookup behaving like below. (rtree hashmap knearest? Just a rb tree?? Idk)
*Eg fs contains 10k files*
Project root =/home/user/
*all return top 20 of returned set
/ returns 10k files
/proj1 returns 5k
/proj1 .js returns 100
/proj1 ab .Js returns 4
/proj1 abc.js returns 1
/proj1 ab.js returns 1
/p2/js/ab.js returns 1
/js ab.js returns 2
Ab.js is in the subset of /proj1/js/test/
AND /js (that looks in /p2/js + /proj1/js)
But then this issue happened and Code caused me to lose a bunch of data... so now I'm on the fence of going back to Sublime which has always been rock solid for me.
For example I want to use sublime for git commit message. I juggle large repositories, and so I use about 3-4 different sublime windows open on folders that keep my work context.
If, while these windows are open, I call `subl -w -n filename`, sublime re-opens all already open windows, and also opens a new window. It then blocks the terminal until every sublime window is closed.
I don't want to disable hot-exit, but sometimes I want a self-contained subl window for just 1 file.
Anyone have any ideas?
As a solution, I wrote a small ST package  which produces the desired behavior. The package listens on a socket to "open-file-requests", which can be issued from the command line.
Via bash aliasing, you can invoke something like `lsub myfile.txt` which will then do what you want.
However, I'm not too sure about whether it works for git, as it's probably not blocking (I didn't test it for this usecase). Maybe it's still useful for someone, though.
For instance, I butted heads with the maintainer of ST's Python plugin over the need to have independent per-project settings. This is critical for me as I work on several codebases that have different Python versions, virtualenvs, installed packages, testing frameworks, etc. In contrast, VSCode makes it trivial to use ~/envs/project1/bin/python3.6 for one project and ~/envs/project2/bin/python2.7 in another.
I fought long and hard to try to get ST to be usable in that scenario but eventually gave up and went back to Emacs. About a year ago I tried VSCode and found that it was my medium medium between nearly as configurable as Emacs (for my purposes) but as pretty as Sublime Text. Either way, I can't see paying for ST anymore when I have a couple of good FOSS editors that may be a bit slower but don't take nearly so much work to whip into a usable state.
Is it possible to get Sublime Text to give the same Typescript/React experience as VSCode with some plugins? I never quite got there.
Honestly, Tcl/Tk is ugly as hell but every other GUI I've seen seem to just be re-stylings of those. There is also a blame gui which comes with Git.
Sublime merge then taught me about a bunch of areas of Git where I had a weak understanding or I had been timid. It's an amazing tool and I think [unless you're already an expert] it'll aid you in your use of git cli rather than replace it.
Sublime feels more lightweight and doesn't have as much lag when typing as VS Code.
Apparently, the Joe editor was the fastest, and Sublime has basically first or second place for most metrics.
Atom crashed for a few metrics :P
I don't know if I could find it for you... but it's out there somewhere, maybe someone here has it bookmarked.
This is probably what you're looking for.
It doesn't include VS Code, but it does describe the benchmarking process and the provided tool is simple to use.
On my current setup, VS Code 1.32.1 is ~5ms slower than Sublime Text 3.2: 16.2ms vs 10.8ms respectively.
There are other ways to interact with those than open up in an editor.
You can easily view changes to individual lines or chunks, revert them, etc, without opening a separate tool. As far as I can tell this isn't possible with the new built-in integration.
You can also compare against any branch, not just `master` and `HEAD`.
Dev from Sublime HQ here. You can revert changes straight from Sublime Text using the keybinding ctrl + k, ctrl + v or through the menu Edit > Text > Revert Modification.
Additionally you can open up the inline diff within Sublime Text by opening the context menu at the modification, and selecting Show Diff Hunk. This allows to view changes to hunks :)
So “written in Lazarus” is a shortcut for “written in Pascal with the Lazarus runtime”.
I've been using Sublime Text almost every day for the last 5 years, switching to PHP Storm when I need XDebug.
I think people complaining about the cost of a text editor is ridiculous. If you do professional work it's worth it to pay for good tools.
> Mac: Added Mojave support
If you are seeing persistent issues with CPU, it is probably related to filesystem monitoring and git repository scanning. See https://forum.sublimetext.com/t/sublime-consumes-cpu-on-mac-... for an existing conversation.
1268 open vs 1428 closed issues is not a good ratio. Maybe they could offer a subscription model to finance another dev for bug fixing.
What I don't like about sublime is that as long as the python expands a little bit more, the system slows down, and there are no toolbars.
I also don't like Atom and Vscode, a npm based editor, NPM is really crap.
I’ve got a 5 year old Mac with 16GB of RAM, so I’m simply looking for which editor is best for developing scripts. Autocompletion, error detection as I type, etc
Spyder is very rough around the edges but is fantastic if you are looking for a MATLAB like IDE experience to develop scripts in. The integration with iPython is fantastic and prototyping scripts is a breeze. Debugging though is a lot more rudimentary in comparison to Pycharm.
VSCode is making progress on the Python side of things but there are still numerous drawbacks to the current Python dev experience:
1. Python linting does not update in real-time but only on saves which isn't particularly great. You can hack around it by setting a low auto-save interval, but that is not for everyone.
2. The Python shell for interactive coding is not an iPython shell but a basic Python one, which means you don't get all the awesome things that iPython gives you like tab completion, introspection, magics, etc.
3. The debugging experience in VSCode is pretty great but the interactive console in VSCode during debugging only allows single lines of code of entry which is severely limiting.
4. It's a lot easier to setup and configure local venvs for testing in PyCharm along with different run configurations to pass command line args to your scripts, etc. VSCode can do this, but you have to edit a JSON config file and it isn't nearly as easy or polished.
EDIT: For fairness of comparison, while I find VSCode is superior for QoL via its impressive defaults and great extension ecosystem, SublimeText is vastly superior where navigating code is concerned--opening a file, and the instant preview of the file as Sublime fuzzy matches what you're typing is unmatched. Navigating symbols in Sublime is also light-years faster--instant, compared to VSCode making me wait every time I try to find a symbol while it loads them up--even in files that I frequently have open and expect it should just know what's there by now. Also, if I'm going to open a very large file, like an SQL dump or something similar, I won't even try that in VSCode. I reach for Sublime.
VSCode will be easier to setup.
VSCode will use more RAM and be slower to startup but if you're just developing scripts and don't go crazy with extensions it won't be a major difference with 16GB of RAM.
Atom in my experience is dog slow.
PyCharm is overkill for scripts, but the features are very nice once things start getting big.
Not only Sublime, but nearly all editors these days lack a print feature.
Also, in fact, I write out all email in a text editor first, then copy/paste into webmail so the watching eyes don't / can't fingerprint my typing! /little paranoid!
Also, printing from a text editor isn't very sexy, you'd want at least a bit of styling and page layout, and that's well outside the scope of a text editor.
Anyway, your point of view may be different but for that, I think there are packages for printing.
I suppose it wasn't included because it is a rather difficult to do it right and few people are interested. There are many things that can go wrong: OS compatibility, page layout, fonts, color or lack thereof... I implemented printing in software once and was a real PITA.
currently I paid for beyondcompare which is pretty good for doing diffs, but would love to switch if sublime merge supports mercurial
Thanks for a great product
Last time I tried Sublime it was impossible to move a file without going to your OS's file explorer and doing it there.
"Accessible" is a fine goal, everything else being equal, but for something I spend so much time in, I look for maximum potential power in my editor.
Compare graphical desktops and the Unix command line.
Again, I love emacs and I’m very effective in it with my own configuration, but it’s practically unusable by default. I’ve never seen a serious emacs user without a heavy customised emacs. And I’ve never seen another emacs user whose config I would be nearly able to use :D
I can totally see why people like editors with sane defaults.
As someone who has tried to be an Emacs user off and on over the past two decades: "yes, this."
I'm reasonably comfortable in both Vim and Emacs, but the reality is that every time I try to make a move to be a Serious Full-Time (Vim|Emacs) User, I find myself spending days trying to get either editor up to the point I was previously at in Sublime Text or VS Code. And I never make it. Never, never, never. Plugins or modes conflict with one another in non-obvious (to me) ways, and Emacs in particular tends to present a "here are a half-dozen ways to solve your problem, none of which will actually work with your configuration" issue. Meanwhile, everyone and their brother has a New! Amazing! Distribution! of the editor. My last couple of attempts to get into either one led me into a nightmare of "go pure vanilla and painstakingly build things from scratch, even though you don't actually know what the pieces you need are" vs. "start with Evil Awesome Space Prelude Vundle." And then, I can finally install the Elixir plugin! Wait, you also need alchemist.el and web-mode.el and probably need to edit your .emacs, excuse me, init.el, except maybe .spacemacs?, and now choose which of the half-dozen autocompletion systems to use, but OH MY GOD NOT THAT ONE YOU FOOL NOW YOU HAVE TO START OVER
And then I go back to one of those Terrible Awful GUI editors and get work done.
So yeah, I can’t really tell you it will be worth it productivity wise to learn Emacs, but for me it has gotten to the point that configuring it is a lot of fun and sort of replaces hobby programming projects for me.
(Ironically, I spend most of my professional editing time -- which involves writing documentation in Markdown, not coding -- in BBEdit, because while there are a lot of coding editors that do more than it does, it has a few features for text slicing and dicing that I just haven't seen duplicated anywhere else.)
Sublime's project goto functionality is simply unbeatable, it is faster than any Vim plugin I've ever used, it starts up faster than Emacs, it requires _no_ configuration to be a great text editor, it's the text-editor embodiment of easy-to-learn, hard-to-master.
Emacs is really something you need to actively learn, while you can just pick up Sublime and use it effectively within the first minute of opening it.
Why do people open very large files with a text editor? If it's a data file, you should grep/head/tail.
They're ok when there are no alternatives like during SSH session but I've given up customizing after 10 years to make them act like any of the latter ones.
Why would I pay for IntelliJ if I could or someone had already made easy to use plugin to just make them act like modern editors?
Vim just has a lot less going on under the hood by default and
is built for this.
In short, I guess I'm agreeing with your original post. Vim is just on another level when it comes to performance versus other editors so it's kind of unfair to pit them together.
That comment is _begging_ for a source. Whose general opinion?
The major reason back then was TextMate's and then Sublime's far superior support for editting files containing multiple syntaxes. While mmm-mode for Emacs eased the pain a while back then, it made Emacs slow down to a crawl sometimes and TextMate/then Sublime were also a lot easier to customize with regards to embedded languages without having to write elisp code all the time....
Sure emacs is great and it has 10000x more features than anything else but ask yourself how much of them you really need and how convenient Emacs is at the end of the day ? I asked this myself and i came to the conclusion that i was better off a more recent editor. ST has a similar philosophy like vim and emacs and thats why i choose it.
Recently im trying VS Code but the performance is still somehow not fully convincing me.
Reading the recent discussions about the need to create commercial entities around open source projects, it occurred to me that Emacs has maybe suffered from not ever being commercialised. It is clearly the best code editor (very few people who master it ever leave it), but its steep learning curve and unreconstructed GUI mean that it remains inaccessible to too many developers. Maybe if a company was created around the product its sales, marketing and documentation would improve, and more people would use it.
Sublime work well across the main OS, live in their world, have no funky weird crazy ways to work (ie: work as expected without retraining for that funky weird crazy sub-world).
P.D: I not dislike the terminal, and wish all OS have not 3 competing GUIS (Web,Native, Terminal) but just 2 (so a terminal editor is a native editor, a native paint app is a native terminal app) but that is a pipe dream because the terminal is stuck in the past.