All my developers have it.
Or $65 per year: https://www.sublimehq.com/store/text
Sublime is one of the tools which really grown and aged well, so it deserves the love it gets.
I personally don't let anybody to tell me which tool to use. It's rude to mock and belittle the tools people use.
I refer to a lot of tools as knives, but Sublime Text is the chopping block.
Before anyone asks any further. See the CLA [0] and the Privacy Policy [1].
[0]: https://zed.dev/cla
I'm not planning on repeating the mistake of learning a complex environment only to see it disappear with the demise of its parent company. That's why these days I'm mostly investing time in the Emacs ecosystem while occasionally trying and failing to love mode based setups like vim and neovim.
Anything more than 500mb and I switch to less for instant reading/searching and sed for instant find/replace.
What I do with it is throw arbitrary text files at it, and do quick text manipulations, especially multi cursor edits. I’m sure I could do this stuff just as well with something else, but I’d have to relearn my muscle memory.
VS Code does nothing of the sort, it has plugins for any language imaginable; it's much faster and much better IMHO.
- Loads up fast, supports tons of very useful packages (e.g. TextPastry, SQLTools), extremely customisable.
- Multi-cursors, multi-panes (e.g. with Origami), spellcheckers, extremely fast filesystem integration/browsing/preview (whether with/without projects and workspaces), color/UI schemes, syntax highlighting, search browsers, Git support (particularly when used with Sublime Merge), etc.
Sure I love my Jetbrains IDEs and Vim, but nothing comes close; Sublime Text is in its own league.
If you think the price doesn't reflect the value the software brings, then it's your choice, and that's fair. But as for the things it brings to the table, I don't think it's that expensive.
I pay similar for BBEdit, and it saves my bacon regularly. Plus it's dependable.
I chose Sublime because it was blazing fast in my wee Macbook 12”, which I used until a year ago. Sublime Merge complements it really well.
Something like 2 years. At the same time Atom and VsCode came in with all the good ideas from Sublime.
I hope they made tens of millions during the height of its popularity.
Honestly, I use Sublime because nothing else can compare. Everything else is slow, bloated, worse to use, or some combination of the above.
I know it’s minor and petty, but it stills grates on me every time I fire it up.
I think CLA is a nuanced thing, since Eclipse also has one and didn't rugpull anyone ever, but their Privacy Policy states that the tool is chockful with telemetry and can collect any personal and non-personal data as they see fit.
When somebody tells that you can opt-out of this, I have a hard time believing that the switches are connected to anything.
[0]: https://zed.dev/cla
I'm shocked at how often I'd see software engineers making software engineer salaries not pay for Sublime.
I liked sublime text, but 65$ per year you can get the jet brain ide you need and it already includes most things you need and depends not on plugins from third party.
IDE-ajacent text editors like VSCode et al are more like those ridiculous fat one with everything in it [1], and Sublime is the elegant model with only a blade and can opener, but the blade and can opener are both really good.
And then you get Microsoft Notepad, one of those shitty metal nail files that seemingly everyone's wife has in the bottom of her handbag.
1 - https://external-content.duckduckgo.com/iu/?u=http%3A%2F%2Fp...
But I have a nice-ish theme in BBEdit for markdown, and I‘m ok. I don’t code in it. Just plain text editing, using it as a scratchpad. It’s open all day long.
This isn’t just license preference either. I would imagine the efforts of the sublime lsp people would be greatly eased if they had access to the source.
But nah zed bad because cla.
I find it extremely convenient to include images alongside text, such as diagrams and schematics for work, photos of goods in a shopping list, and inspiration collections for hobby projects, etc.
When combined with a simple web clipper script[2], it has been a game changer for me.
[1]: https://packagecontrol.io/packages/Markdown%20Images
[2]: https://github.com/dmi3/bin/blob/master/url-preview-md.py
Since a huge chunk of value here is in the plugins (hello, there isn't even a built-in plugin manager, it's 3rd party and still haven't fully transitioned to 3.8 - and this isn’t a nitpick, the fact that it’s not part of the core, and the author went MIA is part of the problem), the release date of the editor itself doesn't determine the state of Schrödinger
> I think the thing to consider is how Sublime is basically "done" software.
Or, you know, take a look at the issue tracker, pick up a couple of dozen issues that impact you (directly or via the plugins that are blocked by these), and realize how far from reality this statement is. Or just look at your own wishlist…
> Sublime is fast. It starts instantly.
But it’s not usable instantly because a lot of functionality is in the slower loading Python plugins, so if you have some shortcut that depends on a plugin, you can’t use it right away…
> But I prefer authoring snippets in XML rather than JSON. > Obviously, I'm twisted.
Obviously
> have tried Helix and I think it is a lot closer to what I would want from a modern editor
Indeed, operation after selection is much more intuitive, especially when limited to the viewport, but then unfortunately Sublime doesn’t have great modal editing support, and none that would mimic Helix visual-first paradigm
> The key and mouse bindings are what you would expect from a modern editor.
That’s what you’d expect from a pre-modern editor, a modern one should have much more sophisticated keybinding support, for example, you’d be able to pick that great modal Helix or Spacemacs keybinding scheme. And have great searchable help for that instead of having to look into the void trying to understand where exactly that `` contextual javascript keybinding was set and how to disable it.
I'm a big Free Software supporter. For my personal projects, I only use (A)GPLv3 or later.
However, I have a problem with software which comes with "GPLv3 BUT..." licenses. We have seen how CLAs weaponized against their contributors with rugpull license changes.
Also, Zed was closed source at first. I had beta access to that thing. Then they pivoted to "Open source with closed source collaboration servers" thing, and they claimed rights on anything passing through their servers (collaboration / zed-ai).
When software stops being local-only, being Free Software loses half the meaning, because you can do all the nefarious things on the backend, without people seeing them. "We only send harmless usage data" you may say, but you don't say how you process and which other signals you mix into that data from other sources or data brokers. That's a problem.
Remember Go's opt-out telemetry debacle. The math was solid, it was anonymous, yes. However it was forced opt-out via an environment variable, so the burden was continuously on us, the users.
If the Go team didn't change it to opt-in, I was ready to drop Go as a programming language, like many individuals and companies. Now the telemetry is opt-in, and users have better control.
These things are nuanced. We should be diligent. For example, Eclipse (my favorite IDE for the last two decades) has CLA, but they never abused the power they have, plus that thing is Apache 2.0 licensed. However, Zed's actions, combined with their privacy policy, doesn't inspire confidence, so I don't use it, and share my view about Zed.
If you don't agree that's fine, but pointing fingers like that is not.
As I said, I have chosen BBEdit over sublime 15 years ago, and still use that, and if BBEdit can detect and run any supported LSP OOTB, like magic, Sublime can do the same technically. So they should barrage the bug tracker. It's on Sublime to make it better. It's closed source, so the developer has forced themselves to fix it by making it closed source.
Sadly it seems that Sublime doesn't do that yet
I'd love an Immediate Mode API, give me full control, or give me access to your OpenGL context, i'll write my own UI
They also need to improve the layout system for their panels, Origami is good, but sometimes using your mouse is better
And i agree about getting stuff to Package Control, it's unnecessary painful
Other than that, it's the perfect editor, but that plugin API holds it back, lots of missed opportunity, specially with the advent of AI stuff
The thing about VS Code is not that it's bad, it's just, like everything and the kitchen sink? Sublime Text just feels like a really nice tool bench that your craft for yourself.
I'm really happy to hear there are others out there.
(And yes, I totally bought the license, but never enter it in)
I started my career with Brackets, then Sublime, then Atom for a short while. Then switched to VS Code for a few years and just recently switched back to Sublime because of how slow VS Code became.
Also great pricing! One time purchase for Sublime is still available in 2025!
But like with everything, having a great choice of fantastic text editors is always good so everyone finds something they enjoy using.
*.x will appear as [].x for some reason.
[0] (Build 4180, out of date...)
Thanks for the software
The possibility to edit large SQL dump files, which I cannot even open in VS Code.
I also want to thank you for having such a reasonable licensing model, I'm launching my own desktop app in the next week or so, and I plan to have a very similar model to Sublime (free to use with nags, license is good for any personal usage, inclusive of updates for X period of time).
The guy sent down there had a laptop and a serial cable.
I talked him through how to use one of the serial comms programs (miniterm?) to connect, but of course, there was no ncurses or equivalent, so not even vi would work to edit a file.
So I got him to use "ed". It was hilarious that he thought I was, in some way, a magician. He and the others I was working with (all at least 2 decades younger than me) didn't understand why you'd want a "line editor" or how you could possibly write code using a DECwriter or, even worse, an ASR-33.
It was then that I started feeling "old" in this industry.
Mind you, at the time the world had moved on as well; my main ST days were developing a JS application in the days before Typescript / Flow and the like, so all my work relied on my own memory, consistent naming, global search and cmd+p to open files. There was a "gap" in between editors like IntelliJ having better / smarter support for JS and the rise of LSPs, making those features available for all editors again. IntelliJ had a competitive advantage for a while.
Likewise, VS Code had a competitive advantage along with Atom for having all its code written in web language / JS, which millions of developers learned or pivoted to in the 2010's. I still can't fully grasp how huge it was, but the last few jobs I had interviews with all used JS for back-end, migrating from PHP.
My eyes widened at that part of the article, as I have to betray syntax highlighting when I in-line something, which makes me want to break it into it's own file to get the highlighting back. But for simple things (like one-liners); breaking it into its own file makes things even more messy.
I have liked it very much for the past decade or so, and at this rate, I'll most likely keep liking Sublime Text for many years to come. It's an incredible tool that does its job extremely well.
Worth every penny!
Fix this and I'd be back in a flash.
But just downloaded it again, and while it definitely felt snappy, after 15 minutes I still couldn't find a way to get TypeScript type checking working, or even any type of JavaScript/TypeScript autocomplete.
I've things I'd like to see with sublime:
- I'd like to have all menu entries accessible from command palette.
- I dont use files tabs (always hidden). I'd like to have a special mode that only tracks saved/unsaved status on files, no opened status, or something like auto close on file switch. I've just no use for the opened status, I'm not even sure why it exists besides being a relic of the past (good old) times where "goto file" did not exist.
- I like sublime to be aware of git branches changes, eg having heuristic for auto closing or revert saved files are not present in FS after branch switch. The feature is partially here with the reload suggestion. (this partially overlaps the no-open status)
- Goto default file listing should be last opened file present on fs, and then alnum sorted listing
I suspect there are roadblocks for these suggestions, sorry if I overlooked obvious issues.
I found [1] which at least shows what it looks like, for those of us who haven't had the pleasure to test Sublime Text. I gather that the search that is integrated in the palette is an important aspect of their use, so perhaps it's hard to show actual UX in a still image.
[1]: https://www.tutorialspoint.com/sublime_text/sublime_text_com...
As a result, Sublime ist the only commercial (locally installed) software I still use, and it is always open.
There are situations, where I use macros, regex substitutions, or browsing the file system (using the keyboard only for speed) when I prefer to use my other editor, Emacs.
I recently played with Zed, which looks cute, but I immediately lost an important file, so back I was in the Sublime buffer. (Both Sublime and Emacs always auto-save documents without explicit "save" action, so you can never lose anything.)
I tend to have many Windows open (several dozens), some of them for several years, others for five minutes. The only two features I would like are: - search across all open files and - a list of edit buffers that is itself an editable buffer that you can walk around using cursor key and select a file by hitting RETURN like Emacs has it.
Generally, I prefer that I doesn't become a feature overloaded big monster of a program that can do everything (that's Emacs already, but I like both, I just want them to stay different).
Although for longer-term programming of bigger projects I prefer IDEs like IntelliJ IDEA or PyCharm CE, in recent time, I had to write mostly small programs, and both Emacs or Sublime fit that bill (no need for language servers for me for two screens full of a Python script as I also teach that stuff).
“It fast” is enough for me, many of the “features” in editors are noise, and Sublime is the simplest and least noisy.
I’ve tried Zed, it’s a beautiful editor…it’s just too opinionated. For whatever reason, it doesn’t understand my Deno projects and I content get rid of the red squigglies.
Sublime lives up to its name.
It's a "correct tool for the job at hand" situation for me.
My main request is to add a tool similar to Cursor Composer and Chat. Thank you again!
I love ST (my last blog post is https://blog.separateconcerns.com/2025-01-04-teal-lsp-sublim...) and I think the main thing lacking compared to the competition is the remote development experience.
I work in AI so we typically work over SSH on machines with big GPUs. Most of my colleagues use VSCode because it has a very good Remote Development extension.
Zed has an "autosave" setting, it's just off by default.
There are others, this is the first that appears on a search. Sublime's package control makes it really easy to find tools like this. Another favorite is the one that renames the currently opened file.
:-(
I think part of it was because it sat between using neovim vs. using vscode, and if I had to reach out for vscode I probably wanted to use remote code editing, code intelligence or AI integration which a default sublime setup wasn't quite offering, and the plugin game seemed stale. Maybe there were also some Wayland issues, don't remember.
Maybe I'll try again and see what you have been up to. Using a proprietary text editor in ${current_year} feels a bit weird though.
At the end of the day, I have things to get done, I'm not here to tinker with tools. Same reason I never got into vim/emacs etc as a daily driver.
I don't want to support VC-backed companies.
I haven't done it in years since with every customer from the last few years the only official way to get to prod is a CI-pipeline, but I think I remember using sfpt or ssh-based file systems even a decade back?
Where Sublime shines for me is opening large files, and opening pretty much any file. So many times MacOS wants me to open a json file in Xcode, or a txt file in TextEdit, when all i want to do is open it in Sublime! And I know that i can open files that are multiple GB without issues, just takes a few seconds :P
And the Ctrl-D shortcut and multi-cursor in general is so neat. I know other editors have it too now, but when I showed my wife how useful it was for simple tasks like formatting a list of emails...she ended up making her company buy her a license and teaching others how to use it.
WIN + V activates clipboard history, so you can see and select things you copied previously.
A competitor to Eclipse would be JetBrains IntelliJ or Visual Studio (not Code), both are often considered superior by far, but neither are free.
Eclipse is also a platform for creating applications (RCP/RAP).
- Color virtual calls differently from direct calls to tell them at a glance
- Class members in a different color than regular variables
- Arguments in a different color than locals, in a different color than statics
- Consts in red, mutable variables in orange
makes a huge difference in effortlessly reading the code.
It's not supported in Sublime (though you can hack a kludge to make a basic version of it work).
[1] https://gist.github.com/swarn/fb37d9eefe1bc616c2a7e476c0bc03...
I’ve tried all the other main editors but always come back to Sublime. The simplicity, the speed, the near instantaneous load time.
I feel like I’m such an outlier but for my text editor I don’t want all the fancy bells and whistles that come with all the IDEs nowadays. It feels like Sublime is the only one that is so intuitive OOTB while allowing access to a plethora of features (if you need/want them). Whereas the others throw everything in your face and it feels like a battle to just get it configured for your needs.
Granted, I mainly code for personal and side projects, and actually enjoy the coding part so I don’t want AI, or advanced features, writing code for me! Even for the productivity gains, I just find coding on my own enjoyable and solving problems as they arise.
That being said, I can totally understand why devs who need to collaborate with large teams, under strict deadline, across multiple countries - probably absolutely need the fancy features that come with enterprise IDEs.
I just love my Sublime editor and never plan on switching :)
I've paid for my licence but is there a tip jar anywhere?
I also want to like Sublime, but I already have a well configured Emacs and I like using free/libre software. While Sublime was great when I used it in the past, I am not sure I would use it much, since I use Emacs all day now. But the reason for Sublime over VS code is, that it is way less bloated and not running in a browser. Would need to see a direct comparison, but wouldn't be surprised, if it showed to be way snappier. If one does not need lots of specifically VS code features, I think Dublime gets out of ones way and lets you get shit done.
Does this apply if you use it same as Sublime? That is without collaboration / ai.
Completely understand if Copilot is enough to make people want to switch over - but for me it wasn't, and I don't feel like I'm missing out with this setup.
The only reason I moved away from subl is that I got access to a big ass machine and I needed to work remotely. The performance of VS code here is so good that often times I forget that the code and terminal is not my local machine.
All thoughts, meeting notes, journals, blog post drafts... everything is jotted down in ST first. I even went as far as writing my own to-do list syntax highlighter[1] which is the main reason ST is always open, at home and at work, even though I mostly use VSCode and IntelliJ for coding nowadays.
(Though I use Sublime more, and I like it as well)
While I respect the effort that goes into creating quality software and am not averse to spending money, I'd rather not live in a world where the best softwares are closed source.
In Zed's case, it's already dependent on "Magik". It constantly downloads something to provide some functionality. I can't vet, follow, verify that thing all day long.
Moreover, if it wasn't doing that, again yes.
If they didn't provide the functionality to begin with, then they can move on to "let's evaluate whether it's acceptable" phase.
Do you also use Sublime Text as your primary IDE just like author does?
————
Mirroring the structure of the article:
1) Regarding the section about LSPs: do you also have the need to be able to “just add an LSP installed as a binary in on your usr/local/bin” even though by the author's own admission “VS Code is the LSP king”?
Kind of ironic to have the author say in the introduction about VS Code that “it probably has taken inspiration from Sublime. So why not check out one of the OGs” and then a bit later proceeds to say that the LSP “tech originat[es] with that editor [VS Code]”. I'm returning the question to the author and you: why not check out the OG?
2) Regarding the section about snippets author says that “VS Code can do this” and even that “the syntax for it is a bit nicer”.
3) Regarding workspaces VS Code does all of that. Author admits that he “ha[s]n't used it personally, so [he] can't speak to it much”.
4) Regarding build systems VS Code does all of that and it's easier because contrary to “the Package Control [that] is not part of Sublime” (and that you have to uglily inject in the Sublime Text console to get working), the VS Code plugin repository has everything already ready-to-use so that you don't need to reinvent the wheel. You can if you want though; Sublime Text doesn't provide anything extra in that regard.
5) Regarding the “Multiple cursors” VS Code has it as well.
6) Regarding the block-level key bindings, have you ever needed them? For me the last thing I want is for my shortcuts to change dynamically based on which block I am in the file. Note that in Sublime Text “they cannot be saved on a per-project basis”, which is awkward to say the least. I would (much) rather have project-level keybindings rather than only block-level keybindings that apply globally.
7) Regarding using “Python all the way down” rather than JavaScript, I'm surprised that the author finds it to be a good thing considering that they primarily use it for “web-dev” and all their examples are frontend Javascript code.
8) Finally, the author complains about the terrible documentation of Sublime Text, the lack of a plugin system, and the fact that for the 3rd-party hacked-together plugin management system he finds that getting them on the “Package Control site to be quite a chore”. I have a ton more complaints about Sublime Text to add on top of that.
I would rather directly donate money[1] to small developers rather than — as another commenter puts it — “supporting and using the products developed by a small team of dedicated engineers ...”
————
[1] And I do! Currently sponsoring 14 developers on a monthly basis[1]: https://github.com/devnoname120?tab=sponsoring
But I built dozens of websites using Sublime, so in a way, it helped me earn $300k.
Ohh the days where you could open a JS project, immediately understand what it did and make a quick fix. Now it's 15 lines of imports, then one line of code that you have no idea what it does because you have to find what it actually does by digging 10 layers down in the import inception. Buf if you have a IDE you can tell by the type annotation that it's an EnterpriseJavaScriptBeanConstructorFactorFunctionIterator and by clicking ctrl+space you can see that it has four methods: .create() .read() .update() and .delete()
For me nowadays, Lapce is quickly growing on me.
Notepad++ has had that feature (persisting temporary text buffers) before Sublime Text even existed.
Unless, of course, you accidentally press "delete folder" instead of "remove folder from project" in the sidebar context menu.
I will die on this hill.
Closed source editors (including VS Code) are simply nonstarters for me.
This is my toolchain, my job, my life, my hobby, my passion. The legal prohibition on modifying it is against every single thing I sit down at a computer to do.
It might sound snobbish, but if you can’t (or don’t) modify your #1 tool (your editor), are you really a hacker? What are you hacking on, and why, then?
Edit, I suspect what I wanted was the "after delay" setting here https://zed.dev/docs/configuring-zed#autosave
One small pet peeve, I do wish more of the functionality in the menu bar (mac?) was available in the command menu (cmd+shift+p). I still fairly frequently try cmd+shift+p "Spel..." to try and turn on Spell check mode, but then realize I need to hit my mac shortcut to search the menu bar (cmd+shift+/) and then type "Spel..."
However, my ST4 license recently expired, and that caused me to look back at the previous 3 years to see what my money was actually buying me, and it turns out it was mostly bugfixes. There have been, rather consistently, 2 releases per year (november and august), and the last major feature was in 2022 with syntax code folding and recent files integration, and those are the only "new features" added since ST4 was released in 2021.
Don't get me wrong, i don't mind paying for software, especially software i use every day, but ST4 more or less feels like it's on the backburner, with nothing much going on, so i let my "subscription" (ST4 licensing is more or less a subscription for 3 years) lapse.
I've instead switched to Zed (zed.dev) as my "main and fast" editor. Yes it has some rough edges, but feature wise it's very much like Sublime Text.
It doesn't support Windows (yet), which is not a problem for me, but i can see how that could be a dealbreaker for some.
Shameless plug - I wrote a plugin ages ago which makes it possible to replace and sort text using Python code (https://nneonneo.github.io/sublime-replace-with-python/). This little plugin has been incredibly useful for certain tasks, and serves both as a useful prototyping tool (playing with text modifications before implementing a full-blown script) as well as a general-purpose text wrangling utility. Basically, you can select some text (or find it with regex), then activate the plugin and type a line of Python code; it will then run the code for each selection region and produce the replacement. Sorting works similarly - select some regions, enter an expression as a sort key, and the selections will be rearranged according to the key.
I love how a plugin I wrote nearly a decade ago is still working with essentially no changes needed since 2017. Stable software is reliable software!
That said, it seems like in 2025 AD the LSP client should come baked in and integrated, with configurations for how to start individual LSP servers possibly shipping on the side. I liked how the whole Go shebang was accessible in Zed in one click, same in VSCode.
That all said, I still use Sublime Text whenever I can.
* GPU rendering
* Apple & Linux arm64 support
* Tab multi-select
* context-aware auto-complete
* TypeScript, TSX and JSX syntax support
* Much more powerful syntax engine
* Adding python 3.8 for plugins
Some personal standouts not listed are: * Syntax-aware code folding
* Mixed-indentation highlighting ("draw_white_space" setting)
* Kinetic scrolling on Linux
* Preserved undo history
* Change-aware white-space trimming
* Asynchronous file saving
* Find result highlighting in the scroll bar
* Find-in-files filtering by gitignoreI've been trying out Lite XL, and I have a crude (WIP) plugin that can pipe selected text thru any shell command (sed, sort, etc), and either output to a new buffer, or replace the selection. Then I started writing some scripts to supply the commands I miss from Emacs, like align-regexp. Since it's just shell commands, you can write them in any language.
I'm not sure if I like Lite XL, but the scripts I already wrote would be easily reusable in any editor that supports piping selections. Perhaps it would be a fun project to create a collection of such portable scripts, sort of like what LSP did.
Sometimes boring is good, especially for your core toolkit. It can free up your energy to spend it on more interesting things, like actual coding.
I use VSCode on Windows but no matter what I do to it I can't get it feeling right.
Ultimately it kinda does everything it needs to.
- Sublime - Vim - Emacs - Atom - VSCode - Jetbrains IDE - Neovim - Zed - Cursor
And these aren’t just little flings. I’ve spent months if not years in most of these editors. However, at the end of the day I always come back to one: Sublime.
It is a beautiful piece of software. It feels like writing with one’s “good pen and good paper”, that high quality stationary sort of thing. It is just me and the code. There is something that just feels different or even tactile about Sublime. That actually leads me to ask as this is outside of my expertise: why does Sublime feel more tactile/real than other editors? When I look at the code in other editors it feels like I’m looking at a projector on a wall. When I look at the code in Sublime it feels like I’m looking at something painted on the wall. Anybody else have the same experience? What’s the psychological/software reason for that?
I agree, but considering the "editor space" has progressed a lot in the past decade or so, i would hardly call Sublime Text "done".
It has it's strengths and weaknesses, and while it was a great editor 15 years ago, and had it's share of innovative features, things have stagnated quite a bit in recent years. ST4 felt more like a minor update to ST3, and ST3 was probably also just a minor update to ST2 (i forgot which one was the big rewrite, but i think it was ST2).
Compare that to what has been going on with VSCode and Zed in recent years, which far surpass Sublime Text in many ways, and doing it for free.
So, in the end, for me, it turned out to be a subscription based "slightly better than average" editor. Yes, i still love it, and i would love for it to get a revival and spring to life again, and i would switch back in a heartbeat, but sadly the "maintenance mode" has been going on for almost a decade now.
That reminds me, I wonder if Sublime Text still has room to improve in some areas. Here's an example, in Vim generating a date stamp is a one liner incl. text expansion[0], whereas in Sublime Text, one has to write a multi line plugin and a separate keyboard shortcut[1] to get the same functionality as that of Vim.
[0]: https://gist.github.com/ckunte/2d7a750e6cf8b96f98f028e90c8ab...
[1]: https://gist.github.com/ckunte/31500c17452b0fd8c55bc9460bd9c...
I'm assuming "license expired" means losing just access to newer versions. Which you explicitly said that you don't need.
Why change the tool then?
Does it have gamification too, in addition to "AI" and "social"?
I use PlainTasks [0] which is very similar to your plugin but also has a few keyboard shortcuts to toggle the item state. Using this with a watered down GTD setup has really brought a lot of peace in both my personal and professional life.
The little pseudo terminal that pops up at the bottom when you press ctrl+b (build) is also highly annoying. Why does it not accept keyboard input? I keep having to open a separate terminal where I can compile and test my TUI apps. If I just use ctrlB, then my app hangs waiting for stdin that I can never provide. And that waiting process never gets removed by ST either when I press ctrlB again.
Furthermore, ST isn't capable of recognizing my various Makefile build commands. ST only shows make clean and make when I press ctrl shift B.
Farthestmost, why does ST not recognize when I'm in a different directory, that it should use a different build system? Why do I have to manually tell it to use python instead of C when I am editing a python file?
Ok last one. Setting up a "replace occurances within selection" is highly unintuitive. When you enter the search term, that RESETS your selection. And you have to start over. Ugh. I want to select my search area, then tell it what to look for, then tell it what to replace with, then replace all within that area.
Step 2. Put an avalanche of moving snowflakes in the background of the blog post to make it nearly unreadable.
Update your file locally, hit the shortcut to upload, done. I find this experience superior to editing directly on the external file as I may want to save but not necessarily commit that change. And for smaller projects you are the only developer on, git can be overkill.
1. Solid coding AI integration with frequent improvements. Sublime Text at best gives you an option to plug an LSP with modest capabilities. It's behind the times.
2. Small community, infrequent extension updates.
3. Limited UI capabilities. Extensions have to contort hard to fit into available extension points.
What's your vision of ST future?
But yeah, it's the best editor out there, I still uses it.
I wish I could have more tab rows.
Still a bit expensive, in my view.
I tried sublime text projects/workspace once, but they are not that great.
I still love sublime text, but there is no way i'm going back to it.
One question: is there going to be another 3.x release? The popup takes you to a 4.x release, which is great if you are on 4.x. If it hit EOL, it makes it easy for us to force the update. Right now, it is in a bit of a weird in between.
Fuck them. TypeScript is a cult and they're gaslighting you. Seriously.
I really really appreciate how few regressions, amazing low latency and always refining everything. And I’ve def had positive interactions with everyone who is working on the sublime sublime software since it’s been out. So like 10-15 years ish I’m going to guess without looking stuff up
Regardless of the above experience, Sublime Text is still my daily driver since 2012. Nothing has come close to it.
I think that every time I’ve worked on a large project with Emacs I’ve started trying to optimize the partial/fuzzy filename search, trying all of the different ways people suggest online to see which one feels natural until I realize I’ve spent an entire day on it.
Over time I’ve come to really value software that is customizable, but that comes with defaults that I really like, rather than software that’s even more customizable but that must be customized for it to feel right. God forbid I run Emacs somewhere without my conf and forget to disable electric indent mode and want to flip my desk when it does its terrible default behavior.
But those things that introduce clunkiness are often very useful. They take away from the aesthetic feel of writing code, but give advantages that are too useful to give up, imho.
I had an eye-opening experience with VSCode recently: I had brought one of my laptops on a car drive, where I had a few hours before the people (family) I chauffeured would come back, and I had a coding project I wanted to update some stuff on. The kicker: I didn't have internet in the car, but for local vscode editing, that shouldn't be a problem, right(?) At least, I had not thought it would be.
Well, for some reason, VSCode suddenly became stupid. It could not longer figure out where my methods and classes were defined, so I had to navigate my code-base by hand (god forbid). It also flashed something about not being able to connect to "dot net" / ".NET" or something similar. I am not quite sure what was going on, maybe copilot..? Whatever, my VSCode was in a mode where it seemed to rely on some online resource to operate, and suddenly had become braindead by severing the cord..??
This reminds me why I like sublime.
I tried Zed recently because it has remote support and AI integration, but the Python integration is limited to Pyright so I gave up temporarily (I guess I can recreate Pylance using this doc: https://github.com/microsoft/pylance-release/blob/main/USING...).
I'd probably never end up proficient with vim (and today neovim) if I didn't do the complete opposite of this and forced myself to use it for real work directly. True, I went a bit slower for one/two weeks, but if you really have to use something foreign for most of your work, you'll learn it really quickly, as long as you're up for looking things up as you go along. Of course, YMMV and all that yadda yadda.
Great product, thank you for being awesome :-).
I really wish Sublime would develop a more solid plugin system and have some sane built-ins such as a terminal.
It’s all preference. I think it’s insane that people use the terminal in their editors.
ST user who is on it still mostly just by inertia (learning tools is my least favorite part of the job) but really not getting the features I want/need from it. This'll help!
https://support.apple.com/guide/mac-help/choose-an-app-to-op...
(There's also prob some way to do it from terminal, but I do it the above way)
I still use ST for basic editing, but for day-to-day, Zed is the go to, simply because it just helps me get my work done slightly faster.
PS I still pay for a ST License every 3 years <3
The latest build (4192), says it was released in "2024" when I think you mean to say "2025".
That’s the point behind an IDE - integrated developer environment.
Have you also considered offering ST and SM as a bundle price with a discount? I'd be interested just because of my lopsided use of the two apps.
But if I need to open a big-ass text file, or process something in a pure text environment without anything helping me or trying to preserve formatting... yeah, it's probably still Sublime.
I'll give zed a look. One thing I miss with ST is remote editing.
First thing, Eclipse is not just free as in free beer, it is also free as in freedom, which can matter.
In addition, you may be surprised how much free (as in free beer) matters to large companies and governments. Of course, a multi-billion dollar company can pay, but the simple act of acquiring a license, no matter the cost, can be a lengthy bureaucratic process for the lowly developer who needs it. It is usually much easier to use free software, especially big names like Eclipse that may be pre-approved. Of course, using a free licence you have no right to, let alone piracy is a big no no.
And while I don't think corporate inefficiency is a good reason, it is a reality and you have to work with it.
The only debugger I'm happy with right now (in terms of performance/features) is RemedyBG, but it's windows only and compiled languages only. In general, I mostly live with painfully slow debugging in VSCode.
I would really love to see RemedyBG's dedicated debugging UI/UX approach refined by some group like SublimeHQ. A group who knows how to turn the UX up to 11.
I'm mostly interested in UI so would love to know how is the custom UI code structured?
Would also be very nice if you could talk a bit about interesting text editor programming/challenges you encountered.
Thanks for the product.
Did you face similar issues? If yes, how did you solve them? Or maybe your work does not need that much tools? Or you have been more minimalistic than me for the number of features to be included in the neovim configuration?
[1]: I work in R&D, I need to tweak and contribute in many papers code or different toolboxes/frameworks on top of the team projects.
HOWEVER it desperately needs a UI/UX polish pass to stay competitive:
* Drag and drop in the sidebar folder list.
* Drag and drop tab to create 2+ column view.
* Focus the open tab if a file is already open in any Sublime window.. Please stop opening duplicates- one mistake and you've overwritten your work.
If we're doing feature requests: a "recently closed windows" alongside the "recently closed files" would be amazing, for when I misclick and close a window containing a bunch of open files and a folder or two :)
If you're talking about the built-in goto-definition then it's definitely not a tab, it's a popup similar to goto-anything and the command palette. You can type to filter, use the arrow keys, press enter, ctrl+enter for side-by-side, etc.
If you want to use the mouse you can hover over the symbol and get a list of definitions and references.
> it contains usages as well as definitions
That sounds like you've got a syntax that isn't classifying its symbols correctly. I vaguely remember Microsoft's Typescript package doing this. All the built-in syntaxes properly classify definitions so you won't have references show up in that list. It's possibly simply removing a package will fix this for you.
> When you click on a result, it opens the file, but doesn't quite scroll to the definition, although it's in view (but not highlighted! So you have to scan for it again!)
Not scrolling to the definition is odd, it's working fine for me. I agree we could highlight the definition better; by default the line is highlighted though. You can enable line highlighting if that's too subtle.
> The little pseudo terminal that pops up at the bottom when you press ctrl+b (build) is also highly annoying. Why does it not accept keyboard input? I keep having to open a separate terminal where I can compile and test my TUI apps. If I just use ctrlB, then my app hangs waiting for stdin that I can never provide. And that waiting process never gets removed by ST either when I press ctrlB again.
We don't currently have a terminal, but the Terminus plugin is fairly popular if that's what you're looking for.
> Furthermore, ST isn't capable of recognizing my various Makefile build commands. ST only shows make clean and make when I press ctrl shift B.
We generally don't integrate that tightly with build systems; doing so effectively requires a plugin per external build system. Though I don't know if you'd actually want to have all targets listed for Make, since virtually everything is a target (and apparently this wasn't possible until --print-targets was added last year).
> Farthestmost, why does ST not recognize when I'm in a different directory, that it should use a different build system? Why do I have to manually tell it to use python instead of C when I am editing a python file?
If you have the build system set to "Automatic", then ST will automatically pick which ones to make available. For Make it'll check for a Makefile for instance. You can then use Build With… to select the one you want to use. If you've manually picked a different build system then that's what ST will use.
> Ok last one. Setting up a "replace occurances within selection" is highly unintuitive. When you enter the search term, that RESETS your selection. And you have to start over. Ugh. I want to select my search area, then tell it what to look for, then tell it what to replace with, then replace all within that area.
The behavior you want it to have sounds like how I remember it being, but that's clearly not the case; I'll have to look into that, thanks.
The last point is a good illustration that your product may have terrible bugs that destroy user data, and still be well-loved because the overall experience is slick, and certain other capabilities are second to none.
For a long time I would get paranoid about accepting Mac updates which would require a reboot because then I'd lose my undo history and then I discovered that this is all I would need to do.
Guake is a great terminal for quick access too.
I have a hot key for opening kitty as well.
Vscode attaching the debugger automatically is a really nice feature, though.
Nothing you couldn’t do with a few shell scripts, but it’s nice that it does it automatically.
However, despite my fondness for it, VS Code, and now Cursor, have largely taken over for me. Cursor, in particular, has literally completely transformed how I code. And yes, it's slower and more bloated, but the value-added of Cursor is worse it.
Like I said, it’s all personal preference.
I mainly code in neovim, I do a lot of work ssh-ing into other machines (sometimes with multiple hops.)
I live in the terminal and sometimes cat very very large log files and would like an experience that is terminal centric.
It very much surprised me to learn how many devs there are nowadays who aren’t terminal centric (outside of windows land)
Also I use my text editor to edit database records (via a plugin) as well. Editing DB rows in vim is the kind of crazy I like.
Without it, you have to use so much glue for a good experience. So, look at the very popular extensions and see if they can become native.
Or at least an IDE platform where plugins provide the language integration.
Cursor is lightweight but have you ever seen the amount of memory that thing seems to consume? Holy mother of silicone.
https://github.com/spencerchristensen/sublime-open-in-cursor
It isn't on Package Control yet as I just submitted the PR.
I made this as I love Sublime Text as a text editor and do not want to pollute it with AI garbage. However, there are times where I want to quickly open the same file in Cursor to hash out some their agents. Workflow is:
- lovely text editing in Sublime
- encounter something I would like AI assistance for
- quickly pop open the thing in Cursor and do the AI stuff
- hop back to Sublime to continue my lovely editing
DAP is trickier to set up but is doable. How often are you really debugging though? In the beginning just run both neovim and your ide and just switch when you debug.
Back when LSP wasn’t a thing I still used vim but would just switch to an IDE when I needed to go code exploring and needed to be able to jump to definition and stuff like that. Wasn’t a big deal and was worth it to use both tools because vim is such a superior method for editing text.
But darn it, even if it turned out to be my perfect car, I don’t want to drive an Aztek.
I know all text editors need some degree of config to be comfortable but sublime is nearly immediately usable. Vs code is the only thing I need to configure to remove flair and features vs extend them.
Basically I just feel guilty that I'm not using a "proper" note taking application when so many of them exist.
That was not my experience with sublime because it'd just spontaneously lose a session along with all unsaved data. Some other people would have similar problems too (just look up 'sublime lost session', and apparently people are still having these kinds of problems with them complaining even quite recently).
It's fast? Not as fast as an LLM.
LSP code completion? Not as good as LLM completions aware of your entire codebase at once.
Snippets? These don't matter if an LLM can just make them up on the fly.
We've entered a new paradigm of what it means to be a good code editor. I'd love if Sublime added the LLM chat and code diff from Cursor but I think the new way to edit code is going to look a lot more like having a conversation (text or voice) with an LLM that's making the changes for you.
I've tried Neovim and Zed -- Sublime Text is still faster and more polished in my experience. It embodies the "do one thing well" philosophy perfectly. Also, Sublime Merge is awesome.
I don't understand what practical difference there is between Eclipse/IntelliJ and VSCode with extensions that makes one an IDE and the other not.
I'm not saying don't use LLMs. Use them in ways that increase your skills, and be wary of using them in ways that atrophy your skills.
I posted in the ST forum that achieving a stable configuration of plugins in ST4 seems more difficult than it should be, but they declined to take this on as a problem.
Meanwhile Zed made it pretty easy to achieve a stable set of plugins very quickly, particularly around language services, shell integration, etc. That's what prompted me to switch; however Zed has taken a few steps backwards in that department since they started spinning out language extensions into plugins that require more configuration and are more prone to breaking.
After I initially switched from VSCode back to Sublime Text, I used Terminus [1], which I used to swear by. But then I made an effort to strip back the amount of plugins I used, and just bound a hotkey to focus my default terminal (Konsole on KDE), and I don't really miss the integrated terminal anymore.
Sublime has become my refuge from the crap that other editors are trying to cram in to every available nook and cranny. Zed was pleasant at first blush, but the way that AI is central to the platform was a huge turn-off and disabling that (and a few other things) was not intuitive. Same goes for many other editors I've tried over the years.
I would like to see more activity in plugin development and maintenance, but always peripheral to the core Sublime experience. Give me a stable, quiet, boring platform and let me choose the features and noise!
Integrated LSP would be nice to have, but most of the time I don't use it and I like to be able to turn it of and have the simple autocomplete that is very predictable and unintrusive.
And performance, I know Zed showed some benchmarks on how fast it is, I still had some hang up from time to time with it and some crash, I can't suffer jankiness in my editor, it stress me out.
Thanks for the work done on Sublime.
Sadly, I almost stopped using Sublime Text around a half year ago. Development of AI coding tools made flexible UI plugins support a must. Right now when I'm using ST as main editor I feel like 0.5x developer compared to myself and my colleagues with Cursor, because of being limited to very lazy and limited Copilot suggestions passed via LSP.
Also, I think you should open-source `minihtml`.
But one fateful day, the Go plugin made itself hard to install so I downloaded VSCode, installed all the useful plugins, and never look back.
The LSP support is native and very easy to set up for most languages.
Most of note taking applications I tried attempt to convince all my text is important and must be stored and if possible classified and that's just not how my relationship with physical notes is.
I tried vim and nvim. Its just more overall effort and I'm never as productive as with Sublime. I tried zed and it doesn't work with Linux. I briefly opened vscode but haven't tried it out earnestly yet.
I think its mostly muscle memory. I'm just too used to the shortcuts, workflow etc. You can teach new tricks to an old dog; I can learn and get used to another editor, but ultimately I always ask myself -- why? I have to get shit done and unless the new thing has some other benefit that compensates for the productivity decline in the first weeks/months/years, it will always be a hard sell.
VS Code is very nice, when it works. My main problems had to do with the extension ecosystem. It felt very chaotic: it was hard to figure out which ones to install to get the functionality I wanted. Updates to Python extensions sometimes caused instability, crashing the editor. And I found it difficult to set extension preferences: the UI tries to be slick but in practice it ends up being clunky and awkward. On top of that, there was an annoying bug on Linux, related to Electron, that prevented the Save dialog box from appearing properly, which... kind of sucks. https://github.com/electron/electron/issues/32857
Sublime is the perfect programmer's editor for dynamic languages like Python, and for general text editing. It's lightning fast. LSP is just enough to be helpful without getting in the way. Workspaces work the way I would expect. I prefer editing JSON files for preferences over navigating a complex GUI.
Best money I've ever spent on a license, and I'll happily renew just for maintenance updates, to be honest.
I paid for an ST3 license, then I paid again for an ST4 license. Whenever ST5 comes out, if they ask, I'll pay for that too.
I don't remember what exact year I did the transition at, but around 2014 - 2016 I think. At the time I was working on a PHP Symfony application (and its frontend made with Backbone.js) powering Typeform, and I think this was right about when docker entered the scene, we were still using Vagrant with what I think was NFS syncing or something else dog-slow. But both Docker and Vagrant works fine with vim, as long as you have a generic VM/container setup, it shouldn't matter what editor you use, in my mind.
But before that I was using Sublime Text 2, with minimal plugins/extensions, so moving to vim was mostly getting used to moving around and manipulating text, using some very basic text-based autocomplete, before eventually migrating to a "proper" setup years later. Since then, I honestly haven't touched my config much, so I'm sure there are smoother/better ways now.
Since then, I've used (neo)vim to write JavaScript (+HTML+CSS), Ruby, Go, Python, Rust, various other languages, but mostly Clojure/Script. When trying out a new language, I find some (neo)vim plugin that seems suitable and try it out. If it works well, great, otherwise try another one.
Is it completely removed from Sublime Text?
I love merge, but the simplest controls like stage/unstage/commit/indicate file status seem kind of essential.
Having said that, Merge is far and away the best git UI I've used. It has saved my bacon a few times. I'm not terrible with git in the terminal (I use it there 98% of the time), but sometimes... I really don't want to be doing things without a decent visual representation of the mess and chaos, and intuitive access to the tools available. I get why they wanted to create Merge.
Of course, this is all opinion in a very subjective context. Some people do best-in-class work with terrible tools.
Performance is a big part of that.
Even a few millisecond delay changes the user experience from "I am physically interacting with an object" to "I am requesting this service do a thing on my behalf". Sublime is consistently fast enough to feel like the former. Most other IDEs feel like the latter.
(Another example of this effect is the difference between driving a manual transmission and an automatic. When I drive a manual, it feels like I'm in control of the engine. When I drive an automatic, it feels like I'm executive sending messages to my engineer who then applies changes to the engine... eventually.)
It's where I write all of my personal notes, blog posts, and it's where I wrote both "Game Programming Patterns" and "Crafting Interpreters".
At the same time, it's not the tool I use as an IDE. For programming, I use whatever IDE is dominant for the language I'm working in. Over time, that's been Visual C++, Visual Studio, XCode, Eclipse, IntelliJ, and most recently VS Code.
That doesn't mean to me that I want Sublime to turn into an IDE. I like that it's lighterweight than that. It's the perfect sweet spot for me of rich enough to handle piles of notes and documents and small scale code editing, but not so huge and cumbersome that it gets in my way.
I always have my IDE up on one monitor and Sublime on the other.
- The ability to scroll or search my clipboard history
- The ability to pin/favorite individual entries, which would then show up in the pinned/favorited tab
That thing was practically my extra brain before the database corrupted itself... (that threw me so off that I don't even remember anymore most of the time from back when I had it.)
This is what I do too, some IDEs are just well-suited for one language or stack over others. That said, I wish languages and IDEs and editors would share ideas more often. I actually don't hate XCode except for the performance, but I prefer the git interface of VSCode, and I prefer the ability to dangle commas and easily format JS/TS consistently (although the tools somehow used to be easier to set up) in VSCode. (absolutely hate prettier)
Are people just working on more complex software than I am so you need the build steps hidden behind a UX, or am I missing some killer IDE feature that I don't even know about?
EDIT: It probably helps that I'm a vim die-hard and couldn't imagine clicking on something to rebuild the program! And Sublime's Vim support is better than any real vim program I've ever used, much less the half-hearted versions available in the IDEs I've tried. Maybe that's the main disconnect, and y'all just prefer having dropdown menus?
- revamped project system so i don't have to store extra files in my root directory, there is a plugin for it, but this should be working out of the box imo
- drag&drop panels to create layout with the mouse
- tabs in output/temporary panels
- UI API for status panel, side panel and in the views
- a proper built-in terminal, i know there is Terminus, but color support is lacking, tabs support is lacking, doesn't work well with tmux, overall it's very janky (wrt to scrolling)
- sticky scrolling (the thing that pins the scope name) or - the thingy that says where in the code we are, i forgot how it's called: [MyStruct > my_function]
I'd be willing to pay extra for a proper terminal for ST
Then I use emacsclient to edit all kinds of files. It loads instantly, handles any reasonable files, can access remote files when needed, and has all the tools I want handy.
OTOH the IDE features do not clutter anything: I have no tabs, no toolbars, no file trees — not until I ask for them.
There are two pieces of software I would love you to implement, and I would buy both:
1. Spreadsheet App 2. An AI aware editor like Cursor that uses DeepSeek or equivalent. You could sell a subscription to it like Cursor also.
I think you could make both of these sing.
1. Installed ST via brew, all good so far. Let's open my hobby project written in Go.
2. Syntax highlighting works by default, great! But uh-oh, there's no autocomplete or any LSP. Alright, let's install one.
3. Hmm I need to install package control first - right I'm starting to remember now. I'm thinking it's strange how they are still two separate entities.
4. Ok, PC installed. Let's install a... ok Package Control crashed...
5. Copying the error from the debug console points me to a two-year-old forum post where the accepted solution is to either remove OpenSSL (?!) or install a beta PC version (outdated now) or try to uninstall Package Control and reinstall it.
6. Ok, how do I uninstall Package Control? The documentation says they are just package files stored on my machine. It doesn't tell me where those files are, and I can't find a menu point to open the folder containing them...
7. Open Zed.
I didn't consider the conflict between how I said "try the OG" but then say "VS code is the OG". It is a good point.
I show an example of the block level key binding. So yeah, I needed it and used it. I only showed one example but I have a few more that are my own I just didnt write about them.
Around python vs. js for plugins, have you tried to make a VS code plugin? You need a package.json, npm, and vsce installed globally. Which language is being used is usually the least of my problems. For Sublime, you need a single .py file! Someone shared this 9 line plugin they made: https://gist.github.com/ckunte/31500c17452b0fd8c55bc9460bd9c... - I don't tthink plugin development could be more simple
I bet an LLM could spit out single file plugins very easily. VS code plugins are clearly more work to create and deploy even after taking into account my critiques of Package Control. At the end of the day you can just toss your plugin in a folder or push it to github and reference it with a URL.
I didn't say the docs were "terrible". I just said they were disjointed. They are complete and fully document the APIs. I just wish they were more like the PHP docs or the ones for VS code which are docs plus guides.
All your other points are fine critiques. I'll chalk the other complaints up as a matter of opinion
Some notetaking app would be amazing
Edit: Wow Sublime is the nicest GUI text editor I've ever seen
SublimeText is where I go to take some notes I want to write unformatted, or with some markdown.
It's where I go to paste some blob of JSON or logs from a random command that I want to parse out into something more readable than my terminal gave me.
It's where I write a random snippet of code to help someone who's asking me a question, or a bash script for a one-off job.
It's not my IDE and I don't want it to replace my IDE, just like I don't want my leatherman tool or swiss army knife to replace my power drill or pliers.
Though for the single file operations, it really depends on how I'm currently interacting with the system. If I'm browsing the files in a GUI then I'll use ST. If I'm in a terminal I'll use neovim.
One enhancement I would love to see to ST is better large file support. If I open a 330MB CSV in Notepad++ it displays instantly and uses 350MB of RAM. If I open the same file in ST it takes a few seconds to show and uses 1.5GB of RAM. (This is with both editors using no plugins beyond whatever is default)
For me, Emacs is valuable not for the things it can or cannot do, it's valuable because it gives me the perception of complete control over the things on my computer.
The other day, I was watching my teammate showing me some stuff over Zoom, and I didn't want to derail his thoughts by constantly stopping him: "hey, wait, don't scroll away, I'm still reading that," "wait a second, what was that URL again?" etc. So, the only thing I could do was take screenshots.
During the lunch break, I decided to solve this thing for myself. I wrote a command that checks ~/Desktop - it's where I drop my screenshots, then finds any .png file that was created no longer than 2 minutes ago, sends it to tesseract for OCR, and opens the text in a buffer. Took me less than 20 minutes.
Sure, there are many ways to get something like that done, but after trying so many different options, I was never able to extract the same feeling of control from any other alternative.
I have a command that inserts the url of my active tab in the browser, with description, in the correct format (e.g., markdown). I wrote that myself, because at some point it bothered me that I had to do that manually. There are many examples such that, where if I weren't using Emacs, I probably wouldn't even bother to acknowledge the existence of such small annoyances.
What makes Emacs truly exceptional isn't its vast feature set, but rather its ability to foster a problem-solving mentality - the "Emacs brain" - where no obstacle, regardless of size, goes unaddressed or unresolved.
Do you really think that's how people use IDEs?
I've never used an IDE that didn't have comprehensive keyboard shortcuts, and I don't remember one that didn't allow customization of shortcuts.
I love sublime text. I'm on version 3, i think there is a 4 out but nothing is drawing me to use it.
Many years ago I saw an advertisement about some cooking tool. This old East Asian grandma, ninja grandma looking, was doing some prep work for some dish. She stops, looks in disgust at the tool she was using and says "this is meant to bring joy, but this is not bringing any joy". She then switched to the "better" tool and all was good with the universe and much joy for everyone.
This is why I use the tools I use, because they bring me joy. There is an argument to be made that I use some of my tools because they bring me less sadness, but oh well.
I use vscode because it brings me joy, nevermind that I use less than 10% of its capabilities (eyeballing). I compile, run tests, use source control in Windows Terminal, because Windows Terminal brings me more joy than the vscode terminal.
I use a cage on my photo camera because it brings me joy. I use a Peak Design sling because it brings me joy. I use my Lowepro sling bag, that I got as a bonus after buying a cheapish tripod, because it brings me joy. The next version of my bag, size wise, it's a proper backpack, now I'm planning to get one and see how the joy levels are.
You use whatever you use because that brings you joy. You can try and rationalize this in any way you want, at the end of the day, the amount of joy is the only real reason you use what you use. Whatever we use doesn't make us better or worse, it makes us human.
Maybe I should consider using their IDEs.
Did you mean to say Windows? It definitely does work with Linux
> Personal licenses are a once off purchase, and come with 3 years of updates. After 3 years, an upgrade will be required to receive further updates.[0]
Tbh I think this is fair, but it surprises me every 3 years when I have to pay up again xD
The pricing on Sublime Text is a steal for what value a frequent user of it derives from it. And they even let you use it forever with just a nag screen if you still refuse to, or can't afford to, pay that fee, unlike a SaaS product which would just lock you out.
I can totally get the high school student not paying for Sublime because they can't, but IMO no industry professional has any legs to stand on for using ST but refusing to pay for it on principle.
You must be a remarkable person and I wish you nothing but success.
AI is Rashomon. It's just an association engine of immense scope. We're not talking to an alien intelligence; we're talking to ourselves. It's an existential mirror, and each person's experience will vary. Some people can control the dance of the campfire flames. Some people just aren't cut out to be shamans.
Evolution is always making failed experiments, as a hedge against catastrophic ecosystem change. I'm convinced that neurodivergents are better suited to becoming AI Centaurs, in the sense Gary Kasparov promoted after he came to terms with his chess loss to IBM's Big Blue.
I made my career by computerizing a branch of mathematics that did not want to cooperate. Now in retirement, I see AI as the key to achieving my dreams before my father's dementia arrives. It has radically transformed my past month.
My preferred language is Lean 4, and AI has as hard a time coding in it as people. This morning's retooling has been distilling the Lean 4 website down to fit well within a 200K token context window. I prefer AI chat at arms length so I make the mistakes not it, but with enough editor integration that we can both see what we're doing.
I loved Sublime Text when I used it. And AI coding doesn't primarily accelerate one's original spec, it encourages tool scopes one might never have dared attempt. So writing a Sublime Text plugin that interfaces with an Anthropic API key is something any of us could probably knock off.
I'm more of less forced to use VS Code at present and it's an overengineered slow mess.
What sets IDEs apart from trying to convert an editor to an IDE with a bunch of plugins is:
- somebody somewhere is hopefully sitting down with a cohesive vision of tying these tools together, instead of an assemblage of plugins each with their own visions. I would very much prefer to use their vision (a la macos/windows/Ubuntu) vs trying to configure each plugin to my own (arch/Gentoo). It could be an age thing, but at this point I really don't have the enthusiasm to become an expert at 12 different config file syntaxes and read the docs for all the options for each plugin i would need to tweak.
- an IDE is all encompassing in certain ways that is amazing. For example, Jetbrains is not only a fantastic code editor/refactoring swiss knife, it also has excellent git integration, and can leverage the same code navigation capabilities within diffs and PRs. It will autostash in branch specific stashes, and I can visually browse and diff these. I can attach to databases and get full SQL query and view capabilities, so it isn't just about general purpose programming languages.
- it can be hard to explain to people who haven't used a language specific IDE, how much further along its refactoring capabilities are compared to any LSP. Note that this applies much more to Java/C# than to something like python, both because of static typing and decades of investment.
- as an example of integration, say you add a new function in a file. Not only does Jetbrains highlight the modified file in the Git commit panel, but the structure panel will actually color that function differently and so on.
- due to widespread use of Jetbrains in certain communities, people will build valuable plugins to relatively niche things. So Jetbrains has excellent CMake support and decent Bazel support.
- I like the keyboard, but I also like and acknowledge that the mouse is much better at certain things. For interactive reading, I like I can right click on a commit and say "rebase from here" instead of looking up, copying and posting the red into my git rebase -i command. Conflict resolution, line by line inclusion etc. is also easier with a mouse.
I am very competent at the command line, but beyond a certain project size, IDEs just make sense to me.
Besides absurd levels of market saturation, code editors are a complement to software, just like libraries and frameworks, and we benefit most as a society by keeping tools open. Imagine having to pay a monthly subscription for a json lib. I find the entire concept ridiculous.
(I'm a paid user and paid again for the latest year or whatever the term of support is).
To be honest, I'm not sure what this product does or does better than all the other similar apps. VSCode has git tools. There's gitlens add on. There's also github's git UI app and some other ones. https://git-scm.com/downloads/guis
In all of them I see diffs. I can stash/stage/commit. I'm not sure what "amazing" features one has over the other.
What I can't do
* I can't copy text from anywhere in the UI. I might be looking at a diff, a path appears, I want to open that path in my editor, so, I want to be able to copy the path from Sublime Merge and paste the path into my editor or shell. Sorry, S.O.L.
* It puts headings on diff sections. I want to copy text that from Sublime Merge and search for the identifier in my editor. Sorry, S.O.L.
* I want to search for things across changes - sorry, S.O.L. - "someIdenifier" doesn't exist in the current code. When was it deleted? Let me search.
Also a minor nit. I hate that it doesn't respect platform conventions. The default folder to open should not be root, it should be my user folder (or something) but definitely not root. No other app on my Mac does this. If you want yours to be root find, add a pref, but by default it should do what other apps do.
---
As for Sublime Text - Of course you can use whatever you want. I used SlickEdit since ~1994 through ~2015 (forgot when I switched to VSCode). The thing is, you should at least know what you're missing.
In VSCode I use it's SSH remote feature to connect to my linux machine. This is not simple SSH file sharing (Slickedit had that and FTP even). VSCode starts a custom server on the remote machine and uses it to coordinate. Examples:
* open remote /usr/my/project1
VSCode loads that project remotely. It edits the files locally (meaning when you open a file, it copies it from my linux box back to the mac in the local editor. IIUC, it proxies the language server stuff so it launches language server support on linux remotely. This means all the TS/C++/Rust etc intellisense stuff is being indexed on Linux in that project's environment.
VSCode opens a terminal to /usr/my/project1 in VSCode. I can start running shell commands. I used to use separate terminals, external to VSCode, and I still do. But the nice thing about the VS code ones is they're per project. If I switch over the a different project (multiple projects at once), each one has it's own terminal, relevant to that project
VSCode monitors and forwards servers from that terminal. If I type `python3 -m http.server 9000` in the VSCode terminal, it will launch python3 and then VSCode will automatically forward that port to my mac. I can open http://locahost:9000 on my mac and access the server running on linux (yes I can do that manually. It's nice that it's zero effort)
VSCode debugs remotely. If I launch the debugger it will debugger (gdb/llvm) on linux but the UI will be local (mac). I can set breakpoints in VSCode in mac, it will set them remotely on linux. I can view data etc.
VScode opens local UIs remotely. If, in the terminal for /usr/me/project1 I `cd ../project2 && code .` or `code ../project2` (so these commands are running on linux), it spawns a new window on Mac connected via SSH automatically to /usr/me/project2
VSCode's terminal is using an editor window and keeping it synchronized with the remote shell. This means it's more responsive than SSH from a normal terminal. In a normal terminal IIUC. I type 'x' on my keyboard. It's sent to the remote server over SSH. The shell over there emits an 'x' which is sent back to my local machine. In VSCode. I type 'x', the 'x' is put in the editor control that's shadowing the terminal. It's assumed the remote machine will return 'x' but it doesn't wait for it. Rather, you're typing locally, and it's catching up. So, even and a slow connection you can type faster in VSCode's terminal than you could in a standard SSH terminal. I'm sure there are places where this is not perfect but the general experience is it's way more responsive .
This is a short list of some of the things that VSCode is doing that AFAIK, most other editors are not (yet?). There's lot of other features though.
I have lots of issues with VSCode. I wish it had keyboard macros. I wish it it's undo system didn't suck. I wish it did auto backups like Slickedit did. I wish it had search and replace across a folder tree with undo like Slickedit did. I wish it had column select (different than multi-cursor as a column can go into virtual space and multi-cursor can't)
All that said, the pluses outweigh the minuses and I can't go back.
Not the same, but adequate for my needs.
sublime merge
* I want to see blame and modified dates for folders and files. This lets me look at folders and find the one that has a recent change and then glance at the files and see which ones changed recently. Maybe that feature is in there but "View Tree" is not it. That shows a plain tree. No modified dates, no people
VSCode
VSCode loads that project remotely. It edits the files locally (meaning when you open a file, it copies it from my linux box back to the mac in the local editor. IIUC, it proxies the language server stuff so it launches language server support on linux remotely. This means all the TS/C++/Rust etc intellisense stuff is being indexed on Linux in that project's environment and then that info is proxied back to the Mac and shows up in VSCode on the mac as info/completions/docs
I don't have the resources, so please add support for the ACPUL programming language. If Sublime had a good debugger, it would be even more powerful.
Personally I'm totally sold on 'Vim' I have lsp through 'YouCompleteMe', which works great for C-languages, and I have Automatic update of tags with 'GutenTagsPlus', And I also use 'c-scope', 'Git' and 'Id-utils', and I have 'ulti-snips' which I probably use too little. So yeah, this and the GCC toolchain, is pretty much the ultimate for me, and I have tried a lot of Editors through the years.
I drive a 18 year old car. I don't need all the upgrades I just need something to drive me from a to b. This business model is similar.
PS I believe you can use it without paying anything. They nag you to pay but in a very subtle way.
Maybe give it a try? https://vscodium.com/
For Linux and macOS, you can mount ssh directly.
Unfortunatley, Windows makes it a little more complicated.
But there's hope. You can use yasfw with dokany (dokan fork).
https://github.com/DDoSolitary/yasfw
https://github.com/dokan-dev/dokany
Or mount from inside WSL.
Today when I tried goto-definition, it worked as expected. I'm not sure why it didn't before. This was for a C project. I do have various Package Control packages installed:
"Golang Build",
"Package Control",
"PackageResourceViewer",
"SublimeLinter",
"SublimeLinter-clang",
"Theme - One",
And you were right, I had set my build process manually. I'm sorry for slandering.What I meant by "terminal" is the output monitoring pane. Whenever I build "C - single file" or "Python - single file", a pane with <textarea> behavior appears in the bottom, showing the program output. But if said program is interactive, there's no way to send it any input. Nor to stop the program. Building it again leads to a new instance of the program being spawned, but the old one stays running.
Just head over to the unofficial discord server: https://discord.sublimetext.io/
* Automated type-based code navigation: go to definition, find all uses, etc.
* Auto-complete: Personally, I prefer simple auto-complete based on static analysis over AI "hope for the best"-style auto-complete.
* Debugger with all the bells and whistles: Step in and out, inspect variables, modify variables, breakpoints, conditional breakpoints, etc.
* Automated refactoring: Rename, etc.
Most text editors can do most of those, but I find that good debugger integration is rare outside of a dedicated IDE.
It's one of my favorite piece of software. Obsidian being another one.
Firstly, thanks for using it and supporting us!
If you haven't already, it would help immensely to get a bug report here: https://github.com/sublimehq/sublime_merge/issues/new/choose
I'll definitely look into this further and get it sorted
I'd love to hear your feedback on how we can improve the blame functionality! I can look into getting anything resolved there.
Thank you for taking the time to share all this feedback - I genuinely appreciate it and will be looking into this further.
A couple of things to note:
> It puts headings on diff sections. I want to copy text that from Sublime Merge and search for the identifier in my editor. Sorry, S.O.L.
I've just added support for this internally, thank you for the feedback!
> I want to search for things across changes - sorry, S.O.L. - "someIdenifier" doesn't exist in the current code. When was it deleted? Let me search.
You can use the search tool (Ctrl + F) and add the query `contents: someIdentifier`. It will return every commit which contains that term within the changes.
Thanks again for the feedback!
1. There are several plugins that allow AI integration 2. There is an active community on https://discord.sublimetext.io
3. From what I can perceive based on Sublime HQ's responses, it's main focus for Sublime Text is simplicity and to be a text editor. You can notice this if you look at the banner text in the website; it says "Text Editing, Done Right". And while it is mainly used for code and most of its users are developers, it tries not to be. However, it does provide people the ability to extend it however they please.
Overall, Sublime Text is indeed not as fully featured as VSCode because it is not supposed to.
You can see the feature under "Find > Find in Files" You can see the "navigation" under "Find > Find Results"
For more help, head over to https://discord.sublimetext.io (and tag me, I'll reply when I can)
It could both be an indicator of what the community is doing, and who your users are, and also a way to promote some new features people might have missed (like the survey "state of CSS").
I enjoy both Sublime Text and Sublime Merge almost everyday, thank you very much for making them!
Some annoyances, though:
- the way plugins are displayed inside ST while browsing for them is limited. Other editors usually provide a much better UI. The web version of package control is required in the end.
- Ctrl-P does not the same thing in ST and SM, and it always tricks me. I wished they would be more aligned by default, but that ship has sailed I guess. I should rebind them.
- SM UI can be slow / be unresponsive for a while like when a tool has run and 20k files were created but not part of git ignore yet. It makes deleting them quite difficult from the UI.
- I wish SM would allow me to pick up patch files from the diff UI and import them from there more easily.
- I wish Mac OS dictation would be more native in SM, and allow me to change language like in other Mac OS apps.
(FTR, the setup above is used for practical, mostly commercial programming; I've left academia without even finishing my post-grad study, decades ago.)
And the solution to getting it synced is to back up your computer, which you should definitely be doing.
The other boxes can be ticked by a lot of editors that were made before the js monopoly.
I've already ditched Music (macOS: Cog; iOS: Decoupled), I'm holding off upgrading for Photos' sake, Home on macOS is an absolute nightmare, Mail is meh but ok (fingers crossed they won't accidentally break it), and I'm hoping they will never go after Notes - it's central to so many things in my life.
Meanwhile, I'm still using Emacs, because despite its many shortcomings (mostly the legacy architecture), ELisp makes writing simple plugins simple, and the few that I use are too excellent to get me to switch.
In some cases we are forced to use a specific IDE. Not optional.
For data manipulation, I like multi-line cursors. Sure, I have expensive IDEs that can do this too, but sublime is great for non-technical people and it's very affordable and lightweight as you mentioned.
My other friend spends a lot of time in spreadsheets, and he was trying to import a bunch of tabular data one time and it didn't quite work due to the source formatting. I showed him how to pull it into sublime, quickly add some commas and remove some junk data on every line to get it in shape for importing into Excel. He loved it!
Of course not. I was just describing 2 different levels of coolness.
also, the tree based folder and file blame. GitHub, the website, shows this info by default. It would be nice if sublime merge had a similar view. The code view on github, the default view for any project, shows a line for each file and folder, followed by the commit msg summary in the middle, and a commit date on the right
Not sure what you mean by gamification and social, we're talking about collaborative editing, not posting to twitter lol
Which plugin do you use for DBs?
But thank you for replying. I’ll hop into Discord eventually.
More broadly, though, I don't know that I consider whole-system backups as important as I might have once. All my local important docs are in Dropbox, and all the code I'm working on is regularly synced out to git hosts. Other than some unimportant Fusion/Bambu projects, most of what I'd lose is honestly that same kind of ephemeral context that unsaved Notepad++ files are: terminal history, browser bar completions, my downloads folder, etc.
P.S. No need to say that I update my plugins through code review!
Pretty much every IDE has a vim plugin that's at least adequate. I've had good experiences with vscode, jetbrains, and visual studio vim plugins.
- One major improvement would be to provide a button to "View blame prior to this change" like Gitlab blame does (screenshot below):
https://drive.google.com/file/d/1BjXpQNlFgHKIJz-5SmJIxYB6fGD...
Because c++ codebases nowadays are full of commits that just reformat or refactors code (clang-format, update to smart pointers, update to new api, etc) and so if I just want to find out the original commit which introduced that codeline (because I want to know the _original_ motivation for it), it means in Gitlab I just need to click 3 or 4 times on said button to skip all such formats/refactor commits until I get to the one I'm interested in. That is easy in Gitlab, while SublimeMerge just let me click on the SHA of the last change for the codeline, and from there I'm lost I don't know how to keep "blaming back" like Gitlab easily let me.
- In the same vein of easy skipping blame changes until the one you want, it would help a lot supporting the git config setting blame.ignoreRevsFile:
https://git-scm.com/docs/git-config#Documentation/git-config...
Thanks and long life to Sublime!
And that suits me just fine, gives me more time to code stuff that interests me in my spare time.
VSCode sucks on the performance front, which is why Sublime was still popular. Now Zed has taken that niche (while also having a lot of modern features).
I’m a hobbyist programmer but make my living as a doctor and use Sublime to write medical reports. It’s just so damn good for manipulating/shaping/crafting text.
I really don't understand this question. It is like asking "What is it about SolidWorks that you find so useful"
Do you know how the LLM integration is? I heard it’s terrible, but that isn’t a deal breaker.
I have a normal job using go + angular/react, lots of databases (postgres) and lots of bare-metal OS shenanigans. I use Vim with 2 plugins. One fuzzy file finder and one for integrating with go.
I've used the JetBrains products daily for many years. These are very slick and I basically regard them as works of art, but I ultimately don't need them (anymore?).
It took many years to get the vim movements into the core of my being and this was indeed quite an investment, but my hands usually move the code now. Sometimes I can just watch them shifting blocks around as I'm barely conscious anymore of the actual physical movements themselves. This sounds like satire I'm sure, but I'm dead serious. This is actually a thing that exists. Not fundamentally different from being unconscious of the key presses when touch typing.
Once you get to this level of familiarity with vim, the shell and the entire Linux or BSD ecosystem things really start to fly and the need for an IDE quickly fades into the background. It is at that point that "why do you need an IDE?" because a serious question.
(Of course this is all moot if you are embedded in a highly specialized ecosystem with its own tools and ways of doing things.)
Same goes for Sublime Merge, which is the best Git GUI I've ever used.
1. Debugging right in the code, rather than in an ugly terminal copy of the code next to it (sounds nice!)
2. Better semantic features in language-specific IDEs (autocomplete, refactoring, etc).
Certainly those things sound nice, but I hope you see how they’re not essential!
I've been using IntelliJ for at least 10 years now.
If you have used it, you know what I'm talking about.
IDEAVim plugin provides Vim key bindings and Vim editing mode, so it has the best of Vim and an IDE in one application.
Refactoring and navigation in IntelliJ is superior to whatever you can hack together in Vim. You can integrate Vim with a language server but then what's the point? Just use an IDE.
At work we are forced to use a specific IDE. It's a niche programming language not supported by any other software. Vim is not an option.
IntelliJ enables quick refactoring of large JVM projects without messing with language servers. It's all integrated and just works out of the box.
IDEAVim plugin provides the Vim keybindings and the Vim editing mode so it's the best of both worlds for me.
IDEs aren't perfect - they often have performance issues, new bugs with every update and do confusing things like marking completely valid code as errors. One of the reasons why I stopped using IDEA after many years of being a fanboy is that I found these unexpected behaviors and bugs getting in the way of actual work. For example, you might reopen your project in the morning to find out that everything that worked perfectly in the evening is suddenly broken, and then you have to spend half the day reinstalling previous versions of plugins and cleaning caches. While editors might be a bit simpler, they're always works reliably.
>At work we are forced to use a specific IDE. It's a niche programming language not supported by any other software.
yes, sometimes is no any choose.
But in all seriousness a good IDE is much more than a text editor and buttons which run terminal commands. The main thing a good IDE has is a good debugger, which not only allows for stepping through code easily, but also shows the values of variables, memory, registers, in one easy to use interface.
If you don't use a debugger then either you're only building very simple programs, or you're stuck in some sort of special hell when it comes to debugging.
I never got in the habit of terminal debugging, but I'm sure some people prefer it over using a GUI. I'm that way for git: The command line interface is unintuitive, but I've gotten accustomed enough to it that it feels comfortable.
Another thing that always gets lost in these dev env debates is what language and use-case. I do mostly C++, and most of my time is spent going between 2 or so buffers. I'm not doing something that requires zipping across several unique files per minute. Even if I do need to change files, having a slower mechanism to get there causes me to think more carefully about what I actually need to do there. So the extra 5-10 seconds aren't fully lost.
Sublime has been sublime for over a decade that I've been using it, I prefer version 3 and still have all the old packages/themes compatible with it. I have my favorite theme Afterglow. I've made so many changes to it, there is a command on save in every project folder I have for things like quick deploying apps be it a quick npm build + rsync or more complex capistrano prod deploy command, or sending a ctrl signal to a sock file to have chatgpt's response appear after asking it anything and pressing cmd+s in any open .md file. It's glorious seeing its response stream right there and then.
Screw people making bloated IDEs and feel sorry for people who use them because they don't know any better.
Sublime is pure, extremely quick to search or load massive files, I often have over 20 folders/windows open each with hundreds of dual column tabs. Never have to close it because it's running out of memory or bogging down my system, never. It's written well, the person who made it cares for writing good code and making good software. That's all you really need to know.
Sublime is the way to go and will most likely will be for the next 10 years at least for me.
2. How are you able to maintain stability of the application? Do you have an extensive test suite? What QA do you have in place?
2a. How do you ensure that there is no regression in editor performance?
3. Sublime text is almost 2 decades old. How has the code based evolved since then? Does it have a lot of technical debt, or has the core of the editor aged well and remains relatively unchanged?
The AGPL is plainly a nonfree license. @marcan has documented the other nonsensical requirements it has and how complying with it as written is basically impossible even if you want and intend to.
It was created by anticapitalist zealots who want to conflate use and modification of software (a solo activity) to consumption of a service (an activity that involves others). It fails both logically and legally.
The fact that people regard the AGPL as a free software license is insane to me. It reduces your rights if you plug an ethernet cable in. It’s insane.