I'm one of the developers at Sublime HQ. We're all very excited about this release. If you have any questions you'd like to ask I'll do my best to answer them.
Are there any plans regarding first class support for LSP (or, more generally and perhaps more useful, first class support for extensions providing semantic knowledge about the code)?
I know that LSP plugin exists, but, anecdotally, folks are having trouble with it. Which i think is understandable https://lsp.sublimetext.io/features/ says Show Code Actions: UNBOUND, and this is the second most useful thing in LSP (the first is extend selection), it’s not that the plugin is wrong: it’s just that you can do only so much if the editor lacks first class UI/UX concepts for features, required to expose LSP to the user.
Just wanted to share my thoughts on why LSP as an open source plugin has more benefits than getting first class support from ST devs.
Cons of getting first class support from ST:
- ST is closed source. That would mean that the LSP source code would be closed source too and that would not allow other people to contribute to it.
- Implementing the LSP client in c++ won't make the user experience faster.
The speed mostly depends on the speed a language server returns a response to the LSP client.
- ST devs would shift focus on implementing the LSP spec which is mainly driven by Microsoft and the spec is somewhat driven by VS Code functionality. So ST would chase after offering the same functionality as VS Code, but then always be a step back.
Having LSP as a plugin allows the best for both ST users and ST devs.
It allows ST users to contribute to the LSP plugin, while ST devs can focus on making ST more awesome on their own way and adding new API-s.
All I can say is that LSP already has first class support, because the ST devs have specifically expanded the API to allow LSP to implement certain features. :)
Yeah, this is crucial to me. I was formerly a paid user of ST3 before switching to VSCode, but gave the ST4 beta a try a month or so ago. I couldn't get the LSP to work for me for Elixir, so I ended up back on VSCode for now.
I figured I'd wait until the non beta release, and try again.
The sort of minimal deal breaker level of support for me is being able to jump to definition. The symbols, if I understand correctly, are based on the syntax configuration, and for the common Elixir one, it includes the type definition line, each function head, and the callsites of the function, which makes it nearly useless for symbol navigation.
I figured LSP would help in this regard, but I couldn't make it work. The docs were vague, and I think I had to put some JSON configuration structure in some file, but nothing I tried I guess was the right file or right structure.
Still, I love everything else about Sublime and am excited now for multi-tab-select, so I'll probably give it one more try. Hopefully LSP is better integrated or documented by now.
I didn't have much to do with LSP or the plugins during development, but from what I've heard most of the work has already been done. LSP has had a ST4-specific branch for quite some time.
Let me also give an insight why keybindings are UNBOUND :)
Each person has different criteria of what is important,
Some people like code actions, some think it is the goto definition command, but almost all keybinding in LSP are UNBOUND. The main reason is to not cause conflicts with default keybindings.
Here is an example for code actions. Most editors use `ctrl+.` to trigger code actions,
but `ctrl+.` is a default ST keybinding used to go to the next modification in the code.
A lot of people consider it bad if a plugin overrides default keybindings,
so LSP lets the user decide what keybinding to assign to LSP commands.
As a developer, I tried to use a lot of code editors, my main criteria being performance, and I've stuck to ST since the first day I used it. Your editor is awesome and in term of perf you're far ahead. Thanks for your work, and also thanks a lot to adding the M1 support with ST4! I didn't expected it (ST3 works fine with Rosetta on M1) and it's much appreciated.
Thanks for introducing the multi select feature in text editing. There may have been other editors before which had but Sublime was where I first encountered this and where it felt natural.
It has saved me countless keystrokes!
I use VS Code now but it has started getting slower and it may be time to go back to sublime!
IMHO, VS Code makes for a fine cross-platform IDE (for those that like IDEs) but is a bit heavy-weight as a text editor.
I tend to use them both in different situations. If I want something that is FAST on very large files or projects, with superb language support for large numbers of languages and markdown - I use ST.
Yep, I switched to VSCode for general day-to-day coding, then to Jetbeans, but I still kept ST3 around for doing things with text. If I want to manipulate some text (even in large files) quickly, thats my goto tool.
New installs get ST3 installed by default, even if I don't have a plan to use it on that machine, I treat it as if it was a Notepad on windows back in the day.
I use sublime 3 pretty frequently, and am aware of this feature, but haven't experienced a moment where this was useful, or at least, not more useful than just running find-replace (which is fantastic on sublime with its pattern matching and speed and what not btw). How do you use this effectively?
2. Select other occurances of this something using CTRL + d
3. Move the cursors with the arrow keys, by using ALT + Arrow to jump to word boundaries HOME to jump to the beginning of the line for Ll lines that had a cursor on them, END to jump to the end, draw selections by holding SHIFT while doing any of that.
The thing is, when you got this it can be much faster than crafting up a regex in Search/Replace even if you are good with regexes.
I like the visual feedback with the multi select where I can select all the occurrences of a variable and then change the name at the same time without leaving the editor by just using the shortcut.
For find and replace, I have to leave the editor and go to a different tool window. Also, my regex skills are sometimes lacking when I want to find something on a deadline. I only use find and replace when I have to do the same refactor across files.
Hey there,
subl is absolutely the best when you quickly need to open and edit a huge file. You cannot, however, do that when the file only has 1 line. Do you think it might be possible to get that fixed at some point? Opening a 1 line 1GB file on a modern machine brings subl to a complete halt and regex editing is sheer impossible.
Not that any other editor but Vim seems to do this without issues, but it is one of the things the whole experience of Sublime leads me to believe would already be possible :)
So is your internal mem structure/unit of operation split on new line? Sounds like you need to refine that to include a max character count sub line structure.
Hi! I'm struggling with the same problems (Debugging huge ASM.js files).
The best modern, non-vim editor to handle such files I've found is Cuda Text: http://uvviewsoft.com/cudatext/
Absolutely top tier lightweight code editor for special tasks.
I didn't know about UltraEdit - just tested on my files that I work with: 50MiB of ASM.js code in ~20 lines.
UltraEdit is very sluggish - to the moment it's not usable to work with.
I did a very subjective comparison between few editors in terms of speed in working with such file (flow is: open, find, manually edit, save).
And in my eyes here is the result:
1. Cuda Text
2. Sublime 4
3. VS Code
6. UltraEdit
Please note: I only tested the workflow that I work on daily basis. I can see that UltraEdit can do much more that Cuda Text, and in different test cases probably it will be a much better choice. But not for me.
I concur with trzeci that UltraEdit is by far the slowest in editing large text files compared to the other contenders being discussed here. I was not aware of CudaText before but just gave it a try also and it seems fairly rock solid compared to ST.
Perhaps not super-common, but at work we have to deal with XML files that are 4-500MB in size that don't contain newline characters. Every now and then we have edit them.
It's at least something I'd expect a premium text editor to handle without issues.
It's common when working with big API responses which are indented using plugins after loading. Most APIs do not serve whitespace in their responses, so it's crucial that the editor won't freeze up on initial load.
Sublime can do big files without any issue, the specific use case here is if it all sits on a single line. Most XML/Json files are not single line, but yes it happens.
Sublime is awesome, thanks! I've purchased an upgrade straight away.
Can you pretty please fix the issue where files deleted/renamed outside sublime are shown as unsaved? It often ends up with a lot of wasted debugging time until I realise I'm working on the wrong file
Please show "filename (deleted)" on the title, instead of "filename •". Thanks!
This doesn't solve the issue. To make things clearer, here's how you replicate it:
* Open file1.txt in sublime. This shows up as "file1.txt" in Sublime.
* In the terminal: mv file1.txt file1a.txt
* Back in Sublime it will show "file1.txt •" as if it's modified and unsaved. Saving that file will now recreate that file, and you'll end up duplicating the file and editing the wrong file.
Instead, what should happen is when you delete/rename file1.txt it should show "file1.txt (deleted)"
Try the same thing in any other editor (e.g. VSCode), and it handles it correctly.
1) If the file was renamed and its contents changed - what should the editor do? Load the changes underneath the user? If yes: user #1 mad because now the only copy of file contents was wiped in OS, and now by the editor in what was originally a mistake. If no: user #2 mad because updating file outside of editor didn't update it within editor as they'd hoped.
2) If the file was only renamed - but renamed by mistake - to something generic or wrong: user #3 mad because original filename (which may also have been a location) is now lost.
In all cases, the optimum solution is to clearly indicate to the user that the file name or contents have changed, preserve both the contents and the filename/location, and give the user the option as to how to deal with this given their particular situation.
This should be a separate indication than that what seems to be currently offered which is to conflate user initiated changes, and OS initiated changes as the same thing. If this is the case, they are not the same thing, and this should be clearly reflected in the UI so that the user is alerted and can decide what to do.
Try renaming a file from the Finder currently open in Numbers (macOS). Notice how Numbers picks up the new name. So definitely possible, on macOS at least.
On MacOS the file name is only meta data, ie the file has an internal id that does not change, but on other platforms filesystems the filename might be the identifier.
If it's renamed in Linux the inode number will remain the same. (Good luck finding where the new file is, I guess Sublime would spot it if it's within the currently opened directory/project with inotify)
The problem is that you can’t distinguish between a file that exists (where saving would overwrite the file) and a file that doesn’t exist (where saving would create the file).
Are there any plans to open source the GUI system? It could be a hugely beneficial for a set of cross platform apps.
Thanks a lot for creating this piece of software art. I’m a user since the v1 and no matter what the editor du jour is, I always fallback to ST and Vim.
This question has been asked a lot, so thankfully I've got an easy answer: You don't actually want to build on top of our UI toolkit. We make breaking changes all the time, there's very little documentation and no release cycle at all. This isn't a problem for us as we have in-house knowledge and can fix any breakages trivially, but you don't want every open source project to have to maintain it's own fork of a UI toolkit.
I completely support this. I write a ton of open-source software, and have many published packages.
Each one that I publish is a Responsibility. Like a parent that has children, the package is no longer “completely mine.” All changes and fixes are made, keeping in mind that someone may be dependent upon my work.
I’ve been writing SDKs -literally- my entire career (I can link to my very first engineering project, in 1987, where I designed a hardware system, and a companion SDK).
A perfectly legitimate reason for keeping code private, is that I am not willing to support it for any use, other than my own personal use.
There is no obligation to support the code at all though. You can release it once, say it’s unsupported, and let the community pick up maintenance / forks if there’s enough interest. Otherwise, no harm done.
In practice it doesn't work this way. Saying it is "unsupported" does not mean people will respect that boundary, nor will it prevent people from contacting you expecting your time and attention, which is what actually happens. There is significant overhead to open sourcing software.
Even for code I didn't publish (like corporate SDK internals), I have been contacted (which took some work, because my employer did not like customers interacting with Engineering), and told (not "asked" -told) to make changes to our corporate, closed-source SDK to suit some rando's tinkering around (also, for extra credit, said rando hadn't even purchased one of our cameras).
Even open-sourcing has its caveats.
Anyone that has spent any time at all, on most tech forums, have seen the "Open Source Holy Wars" being fought.
I tend to use the MIT license. I won't go into the reasons why. I write OSS, and I support it. I choose to do so under MIT.
In the past, I have been contacted (I make it easy to get in touch with me), and told that I was a "corporate shill" for not using GPL.
That's always a great way to start the day.
Also, our corporation had to fend off a few legal threats, because some of our software looked vaguely like some GPL stuff (I guarantee it wasn't -they were anal about the GPL), so zealots would sometimes throw sueballs (or vague threats, thereof) at us.
At least the patent trolls would do a little bit of homework before attacking us. These folks wouldn't even bother wondering if they might be mistaken before unleashing the hounds.
Someone should make sourceavailable.com - A service that automatically pulls my private repos from GitHub and makes it available as open source to other programmers. A read only version of GitHub, without the isssue/PR overhead.
Some people did close the issues and store them in a directory as plaintext on the repo. Want to report a bug ? make a PR. the extra little friction was added so that you need to spend a little time (and having spent that little time you might as well research a bit your bug or read the doc). Bonus point, your project is now completely portable.
> and let the community pick up maintenance / forks if there’s enough interest.
This almost never happen, even when the interest is very high...
I love open source and free software, but we should face that this point is more a fantasy than a real thing.
I would say, it depends on the codebase and documentation. Taking up a abandoned mess of undocumented spaghetti code? No thank you. And most "open sourced" repositories are like this.
But the ones that have at least rudimentary documenation, something a new maintainer has something to work with - those are the few ones, that might be picked up by some community. Rare, yes - because there is not much fun in writing documentation on your personal pet project in your free time. But it might be still worth it.
You could extent your UI toolkit and profit from it. make it open source and make it free for open source projects and with fee for commercial projects.
It's very beautiful and sleek UI and the market of UI are lacking in this area. a lot of people demand this UI toolkit and asking you to release it is a prove that it will be a successful product.
I love Sublime, I've paid for every version and I did the same for my devs for many years (when I had a company cc!). I would just like to say remote editing is the only thing I use vscode for. If ST had remote editing I and probably a lot of other people would use it more.
I remote edit with ST. I choose File | Open to get the native Open dialog, type 'sftp://my.dev.server' and press Enter. Username and password logs me in. Then I navigate to the folder I want, and open a file or folder in ST.
I don't use VS Code. How do you do it there that is so much better?
For one off things, it's easy enough to just use something like WinSCP or ssh + vim. Having to count on a remote environment having all of the X client software installed to do X forwarding and sublime text to boot is going to leave a lot of people disappointed. If subl supported remote editing out of the box the presence of any extra software beyond, say SSH, becomes something no one needs to care about. Bonus, your local install is already configured and setup exactly the way you like it.
I've loved Sublime for years, and it's always the first software I install on a new machine. I even voted with my pocket by buying a license.
However, since we started using Yarn workspaces (for JS), I've needed to switch to VSCode because its auto-import is just so much better, and it's one of those things that's hard to go back from, once you're used to it. Sublime text already indexes my code for search, which can probably be used for path suggestions / automatic imports without affecting performance too much maybe? I dunno.
I wouldn't mind it being a plugin either (before Yarn workspaces, I'd use FuzzyFilePath plugin which worked pretty well). But native support would mean the performance would be on par with what I've come to expect from Sublime Text :)
I don't have any questions, but I would like to thank you and the rest of the team at Sublime HQ for developing such terrific products. I've used Sublime for various purposes for about 7 years now and just purchased, I think, my third license for it. And if I had to label any of my dev tools as a "must-have" for the way I want to work, I would probably put Sublime Merge first.
ST4 has a number of performance improvements in relation to large files, but we don't plan on not loading the whole file into memory as this is a core assumption in the entire UI stack.
Congratulations on the new release though, it's been my favorite editor for years. Just a heads up, when you upgrade an existing license, the instructions say to click on Help > Enter License, but you have to remove the current license before you can enter a new one.
Yup! I just ran into that too. Also, it looks like I could have upgraded my existing license for $70 via going that route, instead of buying a new one for $80. (Np for me, I'm a huge fan, but for other existing users check out "Help" menu before buying a new license)
You could use philosopher John Perry's method. Put every activity on a To Do list, ordered by importance. Procrastination is doing lower-down items instead of higher-up items. Perry has the top of his list filled with so many awesome items that even things lower down are still well worth doing.
So, it sounds like you could add more awesome things to do to the top of your list, until your procrastination becomes things like..watching Sublime tutorials. He explains his method in detail on this page:
Folding code with curly braces doesn't "eat" the brace. It's indent-based, not syntax based. There is a 2 or 3 years old issue on their github, and they don't plan to fix. A little annoying for a paying editor.
I'am using it since 2 years, and i planned to pay the license as soon as a have a stable income.
For me it's the best second editor, i always have it open when i do an operation. I have different main tool / editor open but always sublime text as a second tool.
Thanks for this release! I use ST every day and I love it: the speed, the efficiency, everything.
The one thing I miss, though, is manipulating files from the left panel (moving files especially). I know there is a plug-in doing that (Side Bar) but it lacks drag-and-drop support.
I was surprised to see "By default, GPU rendering is enabled on Mac, and disabled on Windows and Linux". Is there any reason I shouldn't manually enable GPU rendering on Windows/Linux?
Windows and Linux have a much larger variety in hardware and drivers and much lower prevalence of high-dpi monitors. So we felt that for now it would be better to leave it disabled by default. This may change in the future.
Can you at least turn it on this time? I stopped using ST because scrolling was so incredibly choppy on linux. It always lagged a second behind and felt so unresponsive.
Edit: just read the patch notes, the ans is yes. Awesome!
You can use it however you like, but the moment I get to so many tabs open I can't read the titles of all of them is the moment I know I have too many tabs open and just start closing old ones, likely with "close others" action.
You have ctrl tab and alt-# but once tab names are no longer visible/readable I don't see the reason to keep so many open. I think the filetree view is exactly how 100s of files should be organized for finding a file you can't remember the name of or ctrl-p for quickly opening a file you do
You have ctrl tab and alt-# but once tab names are no longer visible/readable I don't see the reason to keep so many open
I make extensive use of layouts with several panes, bookmarks and, for longer files, opening multiple views into the same file and code folding. I find these tools particularly helpful when editing or reviewing sets of related files. This happens a lot for me: application code and its tests, front-end and back-end code either side of an API, code defining types/constants/interfaces and code using them, or sometimes larger numbers of related files when these kinds of pairings multiply. As long as everything stays open, ST preserves all of that display context independently for each file/view. Closing and reopening would lose that context every time.
I tend to open multiple windows instead. Though, to be fair, I usually do that on a per project basis. I try to close tabs once I realize I'm not going to be using them in the near future.
Basically the exact opposite of my browser habits, where I easily have 100 tabs open at any time, lol.
Arm64 builds are available to download just like any other version. The port was done on a RPI 4, but it's also been tested on a PinePhone and a Nintendo Switch.
Is there a reason why ST re-indexes everything on every update? (I'm fairly sure it didn't used to).
My workflow involves keeping 9 sublime projects open most of the time (damn microservices), and restarting sublime after an update makes my computer very slow (not unusable, not noticeably laggy) for 5-10mins each time.
Relatedly, sublime has an excellent changelog window, but it only shows up after you've already updated! It would be really nice if I could see the changelog before I decide whether to update or not...
When the syntax definitions change, the symbols that need to get indexed change as well. Hence the project needs to be re-indexed. There are settings for controlling how many resources the indexer is allowed to use.
We only ship downloads from sublimetext.com. Any other avenues like homebrew, flatpak, etc. are supplied by third parties with no relation to us. Sublime Text on macOS has its down update mechanism that you may prefer over homebrew.
Thank your for bringing into the world this beautiful tool. I paid for ST2, ST3 and SM and it brought a lot of joy into my work. I'm more into VSCode now (ST python editing experience has been lagging behind), but I keep ST close for out of project editing.
I hope one day you will release your UI toolkit. Since it's crossplateform, fast, and plug into Python, it could be a wonderful alternative to PyQT, wxWidget and the like, and we really need something in the Python world.
> I hope one day you will release your UI toolkit. Since it's crossplateform, fast, and plug into Python, it could be a wonderful alternative to PyQT, wxWidget and the like, and we really need something in the Python world.
Note our UI toolkit is really adjacent to python - there's no integration there at all. See here for my answer in relation to releasing/open sourcing our UI toolkit: https://news.ycombinator.com/item?id=27230608.
> Note you can upgrade to the bundle from either a Sublime Text or Sublime Merge license.
Right now I have a ST3 license and would like to upgrade it to both ST4 and Sublime Merge.
If one upgrades to a bundle now, will it be possible in the future to upgrade the bundle license to a single product one? Or is the only option to buy a new single product license instead?
(I’m ok with it either way, I just want to find out so I can plan better.)
Regarding the licence upgrade options: Are there any solutions for users owning a single licence for both Sublime Text 3 and Sublime Merge? My Sublime Merge licence for example is still valid for 2 years from now. If I try to upgrade my current licence and want to bundle them together it says the price is 152 USD. Any options for users like me to not make them pay twice when choosing the bundle licence?
I am wondering if it's possible for Python plugin to add custom UI elements?
For example, if I am using Julia/R I want side panel that shows all my current variables in memory. Is Sublime plugin system capable of adding UI components such as variable/plot viewer and add custom interactions to those UI panels(i.e. zoom/rotation for plots)?
About Sublime Text says that I have a Single User License registered. Is it going to prompt me to upgrade, or am I grandfathered in some way? I bought this Sublime 3 license in Feb 2018. Just trying to understand what's going on. The app itself is great so far, especially the GPU performance.
Your license is still valid for all versions released before Feb 2021 (3 years after purchase). Once you update to a version released after that date you will see a "LICENSE UPGRADE REQUIRED" in the title bar. Under `Help > Upgrade License` you can then purchase an upgrade. There is also a popup prompting for an upgrade if you've entered an "expired" license anew.
Newer licenses don't work on ST2 for technical reasons, but I'm sure we can work something out if you contact our sales support (bottom of this page: https://www.sublimehq.com/sales_faq)
I can't really say one way or another. Given that we can't feasibly test on the large variety of ARM devices out there I think it will depend on how maintenance free the ARM Linux builds are and how much people ask for a ARM Windows build.
Do you expect that working with Python codebases will get better with this release? I mean it in the context of code completion and other "intelligence" features.
It's by no means ST for terminals but Micro is well worth a look if you haven't seen it. It has sane keyboard shortcuts, nice syntax highlighting, mouse and multi-cursor support.
Could it be that you‘ve already been using the new GPU rendering in SublimeMerge but not ST3?
That would explain the visual corruption issues I sometimes have with Merge but not ST3. In Merge some actions, sometimes (mostly in the settings) corrupt the application window (sometimes also after minimizing and sleep) on my MacBook. To me it looked like a rendering/GPU issue. It looks like blocks of pixels having different colors, lines shifted, etc.
Yes we've been shipping the hardware accelerated rendering with Sublime Merge for some time now. A bug report would be welcome (Under Help > Report a Bug)
I can see personal licenses get the 3 years worth of updates that you've mentioned elsewhere in the comments here. However, business licenses get 1 year of use before it expires, but I can't tell if that includes upgrades from ST3 to ST4. Can you clarify what the status is for that?
Business licenses follow the traditional subscription model. The licenses don't expire, but they do get revoked once the business either revokes them or stops paying. Because of this there is no upgrade from ST3 to ST4 - it's simply included in the subscription.
Would you ever consider a licensing model similar to Cockroach DBs BSL where older versions fall into the public domain/are open sourced once they're no longer revenue generating? Or perhaps once a new major version is out?
Is there a way to go back to the trapezoid-style tab UI instead of the rounded new Chrome tab UI? I didn't see it in any of the preinstalled themes but maybe there's a flag somewhere.
We do not have any plan to do this, though there are some features we're looking at for improving existing terminal packages.
I personally wouldn't ever use a embedded terminal, as their user interaction inherently conflicts with the rest of the application. ctrl+w for instance needs to both close files/tabs as well as delete a word in the terminal.
That kind of feature requires integrating a TypeScript compiler, akin to an IDE. Sublime Text is first and foremost a text editor and such doesn't have that kind of information. You may want to look at plugins like LSP for that.
Oh interesting. I had previously read a limitation of changing the title bar to use a dark theme was based on sticking to win32. Sounds like that hurdle was overcome in a different way - either way I'm appreciative.
I've been using Sublime Text long before I started working. I use it for any code or text related functionality. Of course it's also used internally by everyone working on our products.
I've always been a big fan of using snippets and auto-completing based on open buffers in a project instead of using LSPs.
I haven't used ST in a while but decided to install ST4 to try it out.
I opened a Flask application that uses SQLAlchemy. I opened a Python file and typed User. and then it showed me a list of fields and methods on my User model without having the User model open in a buffer.
I did the same thing in an Elixir project and after installing the Elixir package it worked for project specific "things" in my app. Like after typing UserView. it showed me only functions available in that view. Likewise it did the same thing with context modules, it picked up all functions inside of a specific module.
In both cases as I started typing "User" it showed me options to pick from. In both cases it also listed out the number of definitions for a specific "thing" and lets you quickly jump to a specific one. If you mouse over a function it brings up the list to pick a definition / reference. There's also key binds to bring up a CTRL+p'ish feeling menu to see and preview the file where something is being used.
It's not as good as a LSP but it's definitely a few notches above what I've seen in other editors and the best part about it is not needing to configure multiple LSPs and it's lightning fast.
How does it compare to the autocomplete in IntelliJ/Webstorm/Phpstorm? The amazing autocomplete is most of what keeps me on Jetbrains, but their software is soooo slow.
IntelliJ's autocomplete is much better, but it's doing some heavy lifting to get such good results.
I haven't gone crazy testing ST4 btw, I played with it for like 20 minutes. It felt like it was maybe 65% between ST3's auto-complete and what you'd get with a LSP back-end using VSCode. Meaning it's closer to VSCode than it is than ST3, but not as good as a LSP, but there's also no effort to get it set up so it's a reasonable trade off if you're someone like me who just wants pretty good auto complete without configuring a million tools to run in the background.
I haven't tried TabNine but according to its home page it doesn't support Elixir. It also requires a monthly subscription (the daily limit would be consumed in about 5-10 minutes of coding). I don't mind paying for things but at this time I'm not interested in subscribing to more services.
YCM feels more like a LSP client than buffer / project level auto-complete. AFAIK it requires you to have a language's runtime specifically installed which is a deal breaker for me. Most of my apps run in Docker and I don't have local copies of any runtimes installed.
ST4 works wonderfully in this case because it parses everything out based on syntax highlighting rules.
I feel bad using VSCode after years of supporting Sublime (by purchasing a license). However the one case where I do use sublime repeatedly? When I need to open an editor QUICKLY. It boots faster than VSCode, and frankly, it finally broke me of my constant habit of VIMming now that I have it on my mac, win and linux boxes. I am eager to try V4, but I'm so deep in VSCode now, I don't know if I can find my way out! I can even cross compile C and debug in VSCode!
To me, VSCode competes with IDEs, Sublime competes with text editors. Startup speed accounts for a solid 95% of that distinction. If I need to make a quick edit to a file or write down a temporary (but reasonably persistent) note, the only tools I've tried that let me do that in less than 3 seconds are Sublime, Notepad, and Notepad++. Among those choices, Sublime is the clear winner in overall usefulness and functionality.
Not just startup speed, but speed/efficiency, period. I use Sublime a lot to manipulate decently large csv, json, etc. files. Multi-cursor text wrangling still works well even with 10s of thousands of cursors, VSCode chokes hard way before that.
Very true, the more features a product has the slower it opens. That middle ground is why I don't use VSCode
If I want the best IDE, its something from JetBrains. It's definitely the slowest to open up, about 9 seconds on my machine, and I wouldn't think of opening a multi GB json file in it, but past that initial open its just as fast as sublime (again on my machine).
If I want the fastest text wrangler or dealing with a massive file, its Sublime. Having used all 3, VSCode just leaves me wishing I opened one of the others.
The best thing about VScode is that it is a really good (just not the best) IDE that is also free
Is VSCode still fast after you add enough plugins to make it reach feature parity with IntelliJ?
I've tried VSCode a few times through the years, but it always seemed like I needed at least a dozen plugins to get all the features I have out-of-the-box with PhpStorm. I guess it's a philosophical difference between modular components and a big ol' monolith (though, beneath the hood, IntelliJ IS modular... most of their software is just a branded collection of plugins, though all the major ones are first-party instead of community-driven like in VSCode).
you're comparing a text/code editor with a full fledge IDE. VSCode is _not_ an IDE, it is a glorified text editor with an amazing plugin system. if you need an IDE for what you do, use PHPStorm. I myself still use Visual Studio for a lot of the stuff that I do in .Net as I find I need the features it has.
I mean, let's be honest, the difference is getting blurrier and blurrier as "text editors" gain more features over time. And workflows, too, aren't that clear-cut... is it wrong for a "text editor" to include built-in autocomplete or git support? What about project-wide regexp search, or is that a better tool for grep? Etc.
At the end of the day, I don't care what a program is classified as, only if it can do what I need it to do. Like many here, I've used Sublime for its speed on simple edits and other editors/IDEs for more complex dev work. That's fine. But VSCode occupies that in-between space, offering a mix of performance and features.
The holy grail for me would be something like PHPStorm but with better performance. I wonder if Java has something to do with it, vs it being built as a native OS app? I don't remember Visual Studio (the full IDE, not VSCode) being this slow, ever, even on old Windows 95 machines. And even back then it was pretty feature-complete too, especially compared to VSCode if not IntelliJ.
I guess my underlying question is whether it's really impossible for an IDE to be both fast and featureful.
Actually uses a real backend neovim instance. Can’t get better vim support than that! I find it a god-send when working in VSCode as the Vim key map alternative was slow, buggy, didn’t have full support.
I actually battle vscode every freakin day over autocomplete. It's really bad if you're writing php and happen to have a // phpcs somewhere, it'll convert <?php to <?phpcs which makes no damn sense.
For my use case, autocomplete of any kind is useless, so I turn it all off. When "in the zone" anything that distracts from getting ideas out of my head as quickly as possible is annoying. Also, zen-mode, FTW.
Sometimes after I type a variable name (the whole word, not partial) it autocorrects it into something else. I am in the habit of hitting Esc after each word now.
I don't understand the startup time issue. Tools I use regularly like VS Code, IntelliJ, etc. are constantly running on my machine. I pay their startup cost once per reboot. Once they're running, they open files* as fast as Sublime for me. There maybe other use cases, but startup time feels pointless to me.
*files of sizes I work work. I don't care about gigabyte-sized files; if I do, vim or my existing ST3 license are good enough.
There's very rarely a good reason to do so. The vast majority of times when I find people saying that they use a tool for its startup time, it's not because they actually have a good reason for not keeping their editor running (e.g. memory usage), but instead because they just don't want to.
Agreed, it's nice and fast. Sublime is my go to for notes, storing quick tidbits, quick macros (this has saved me lots of time), data editing, little bits of quick code, and SQL scratch pad. There is probably a ton more I could be using it for.
For me, I use Goland and Pycharm as IDE, and VS Code as editor. I also used Sublime, but found that VS Code somehow surpassed it, and startup speed is also very fine (if you have strong computer :-)).
Same. I don’t tend to need an IDE all that often. More often I want to read code and I need something that opens up FAST with good support for a WIDE variety of languages out of the box. ST ticks that box for me.
My favourite aspect of sublime is that the "sessions" are so reliable.
I often just open it to jot something down, and before I know it I have 15-20 notes on separate pages, I'll consolidate and save them to a file somewhere or delete them if necessary.
It's just a super reliable scratchpad and a versatile modern textfile editor.
This is exactly how I use Sublime Text. It's probably a workable development environment, but there are too many solid alternatives for that purpose for me. But as far as a quick text or code editor, there is nothing else I'd rather use.
I can relate. Huge fan of ST. I switched to VSC because of some integrations that were not available on ST. I hated it, it was only out of necessity. Everything on VSC just felt... sluggish, compared to ST. There's this barely noticeable input lag. Autocomplete seems to lag ever so slightly. The startup is just a smidge too slow. And so on in all dimensions.
Alas, now I'm used to it, and I can't go back because of the same integrations that made me switch in the first place, and new ones I've found since. All the crispness and snappiness is gone in favor of deep features. I accidentally became an IDE-guy.
Yeah, it's rough. A good thing about VSC is that it's atleast as configurable as ST is, though. You can disable a lot of functionality if you just take the time to read up on the config. You'll never make it as smooth as ST, but it's worth it to reduce the friction. If you're forced to use it, might as well make it as decent as possible.
You almost definitely speak the truth, but that kind of attitude towards performance is why so many apps are so awful to use now. Especially if you can’t afford the newest Mac.
The one I’m using is $1000. That’s a bit pricey, but strikes me as reasonable value for money. Especially since this is the best performing laptop I’ve ever used.
I get what you’re saying though. Many folks might only have budgets in the range of $500-800. With any luck, other manufacturers get their shit together.
Some people have budgets of $0; they have to use the device they're using currently. I'm already feeling empathy for them in a year or two once all their apps are written by software engineers on Apple silicon Macs who don't test performance on older hardware…
Sublime Text can (and is) used by many people who pay nothing for it. And, to be clear, I was talking about apps in general, not just Sublime Text–which is one of the few apps I trust to not fall victim to the issues I described.
That is true, but it's possible to avoid using those. What you can't avoid using the actual OS itself. Try booting into Yosemite sometime and comparing your computer's idle resource usage to the latest Big Sur and you'll see what I mean: try as I might, I cannot get the computer to use less than 5% CPU usage, while this used to be trivial.
M1 macs are the first Apple devices where I feel you're getting excellent value for money and they are super affordable for what they are.
These are professional tools, you're going to need to invest into hardware to get a good experience - if you value your time at all you'll be spending a good ammount of money on a laptop, high quality chair, good desk, monitor and peripheral.
If you're an amateur or a student then you can afford to wait.
It's like me complaining that my amateur drill overheats on hard surfaces and I can't drill through stuff realiably without cracks - if I need to do a few holes here and there the cheap stuff will do, if I do this for a living I'm expected to have gear that will save me time and improve my results.
Performance is a feature, and it doesn't rank very high past some critical threshold (which is why people switched to VSCode - other features matter more)
Vscode existed long before m1 macs. I think designing software that only has acceptable performance on hardware that doesn't even exist yet is where the contention lies. That's hyperbole but I think what is being discussed is more the tendency of developers to be lazy when it comes to performance because the latest and greatest hardware makes their software snappy.
For people not fortunate enough to own an M1, it’s a slow to start typical Electron app. Don’t get me wrong, I love and use VS Code. But performance isn’t in the same league.
Sublime Text basically does what you describe above on ANY hardware.
Anecdotal, but on my Intel/Windows laptop, VSCode opens instantly and has my sizable project loaded in <1s.
I have one Electon app that I wrote myself and it's pretty fast as well even though it deals with a boatload of things, and I didn't really put any special effort in to achieve that.
Both on my current laptop (which is admittedly a 10th gen i7) and my older one (8th gen i5).
Not to say that Sublime doesn't load faster. I'd almost be surprised if it doesn't. But the whole "Electron apps are slow" trope really needs to go.
It doesn't open instantly on my work (Windows) desktop. But then I don't care as I generally open it and leave it open all day.
Same with Spacemacs. because of the way processes are more expensive on Windows, Emacs/Spacemacs is many order of magnitude slower than it is on *nix (the other places I use it). I tolerate it as I can't live without magit and Org and other staples.
I find the crappy Slack app (another Electron app) is also slow to open, load and update. So much so, I prefer to use their web client in a browser.
Anecdotal, also, but that's two Electron apps which are sluggish on fairly recent (3 years) hardware.
I mean... I would hope pretty much anything opens ~instantly on the most absolute cutting edge custom-designed SoC from one of the richest companies in the world. hahah ;)
On M1, Sublime is still faster than VSCode to open. The bouncing icon is not even done bouncing back down that the whole project is open in Sublime.
Yes still very fast in Vs Studio, but there's always something nice about Sublime being able to get to a file so quickly.
macOS does a notarization check with Apple servers the first time, can take a while. On subsequent runs the certificate is cached, so should be much quicker.
I don't think sublime really compares to IDE's like vscode and jetbrains products.
It sorta is in just the text editing realm similar to vim and emacs. Sure it can do more but I feel like it's not fair to compare it. That said sublime text is probably the only text editor I ever used that comes even close to competing with vim and emacs for text editing.
Do you actually ever need to open a new editor? Why not just start whatever editor you want when you boot up, and then open files in it?
You probably don't shut down and start up your web browser every time you want to open a new site, so why would you do the analogue with your text editor?
> Do you actually ever need to open a new editor? Why not just start whatever editor you want when you boot up, and then open files in it?
Speaking only for myself and not the GP: due to a lifelong habit of putting things away when I'm finished with them, I always close windows and quit applications when I'm done using them for my current task.
> You probably don't shut down and start up your web browser every time you want to open a new site
Not literally every time I visit a new site, but yes, I quit my browser every time I'm finished with my current browsing session, even if I might end up launching it again in 10 minutes for a different reason.
> due to a lifelong habit of putting things away when I'm finished with them, I always close windows and quit applications when I'm done using them for my current task
...but that's not a need - that's a preference, a habit, with no root in any utility or tradeoff.
> but yes, I quit my browser every time I'm finished with my current browsing session
That puts you in the minority of tech users, at least, if not computer users in general.
> That puts you in the minority of tech users, at least, if not computer users in general.
Is that an anecdote or is that assertion derived from some study?
I, too, close all windows/processes when I'm through with use. The overwhelming majority of people I've worked with have all done the same; of course that is anecdotal.
I solved this need long ago with BBEdit (hi Rich!): I leave it running all the time. It is the only application that starts with my user login, and it is always available.
I don't get really get this "quickly" thing. I just checked, on my 2014 MBP my VSCode takes < 3 seconds to open a project from shutdown, including opening 14 files. Checking Sublime Text 3 it's faster (1.5 seconds?) but 3 seconds it's not enough for me to care.
I tested "Visual Studio". It takes ~10-12 seconds. For some reason VSC code fits within my threshold of "fast enough I don't feel like I had to wait at all" where as visual studio feels like I'm waiting. I guess your threshold is lower than mine though.
> Sublime Text license keys are no longer tied to a single major version, instead they are now valid for all updates within 3 years of purchase. After that, you will still have full access to every version of Sublime Text released within the 3 year window.
Life is expensive and getting more expensive every day. The median home price is twice as expensive as when sublime released for $70 in 2008. Everything from a car to a loaf of bread is more expensive and your developer needs pay for housing and loaves of bread too. As it stands the new permanent price of 99 is only 41% higher than in 2008.
Any chance you can get your employer (if you have one) to buy you a license? Some employers will help out their staff by buying licenses for IDEs, or textbooks or stuff like that.
It's worth noting that business licenses work a little differently than personal licenses:
> Business licenses are sold on an annual tiered subscription basis, at $65/seat/year for the first 10 seats, $60/seat/year for seats 11-25, $55/seat/year for seats 26-50, and $50/seat/year for any further seats.
TBH, the rest of the world will just pirate, and if they make a good income eventually that is more the international standard, they can buy with their own cash. I don't think sublime has top of the line DRM.
I live in India, and I find the price a bit too high. But that does not mean I will pirate the app. I will use other free alternatives until I can afford the program I want to use. So, asking Sublime to reduce the price to cater to people like me is a valid request, IMO.
Sublime can be downloaded for free though. It just bugs you every few days asking if you would mind paying. That’s my situation now. I’d love to through some cash their way since it’s a great product, but it’s just a bit too steep.
It's not really much though... Software engineers make that in an hour or two, that's reasonable price for 3 years of updates of the primary tool... And it's a business expense. And as the sibling comment says, a game costs about the same.
It depende on the country. In my country (Brazil, where minimum wage is less than US$ 1/hour) a software developer earns about 1/4 or 1/5 (or less) compared to US salaries for a similar job.
Spotify, Netflix and YouTube Premium here are much cheaper than in US.
I mean contractors - my bad, I should've been more clear... I'm used to everyone being a contractor. Employees should get license from employers. Is contracting rate also that low in Brazil?
To be fair in most of the developed world it is more like 4-6 and there is always Emacs, Vim, Atom, Code for free. An embarrassment of riches for nothing.
Okay then, five or eight hours, or a week.. for 3 years of updates - still peanuts considering that this is programmer's primary tool and business expense deductible from tax base.
I agree with this very much. Both Sublime Text and Sublime Merge are quite cost prohibitive, particularly so for individual users. I've mentioned this here and elsewhere before and often others will attempt to deflect this with getting an employer to cover it or that it isn't much for a developer, but that only holds true for a smaller subset than they realize.
One can buy a copy of Windows 10, an entire operating system, for about the same price (or often considerably less!)
Тhere is a story about a Jewish tailor whom it took 1 month to sew the pants. So the customers tells him Look it took god 7 days to build the world and you were making pants for a month... And the tailor answers Yes, but look at this world and now look at these pants...
Same here.
It always sucks to see whenever the comparison is made between pricing offered by a small developer team vs. an enterprise with hundreds of thousands. Microsoft could likely sell Windows for free and still profit from the ecosystem network effects and upsells of its cloud offerings.
Mostly, but allowing access during the window on an enduring basis is generally not typical of subscription models.
This is more like dated entitlement than subscription.
Most subscriptions have much stronger pressure to renew, including inability to install or download outside subscription period, version limits, software quits working, and, and, and...
I think this implies that after 3 year, you can keep using whatever is the last version you were using. It's basically license to get what you have right + any versions in the next 3 year.
JetBrains also has a similar license for yearly subscriptions, where you can keep using whatever version was supported at the end of the license.
> whatever version was supported at the end of the license
No. The version you will perpetually have access to is the last version released one year before the expiry of your license. So if you get a one-year license and don't renew it, you only retain access to the version you first bought, not any new ones released during the year.
It's not broken. You're basically buying that version of the software with some benefits for a year; and they make it nice and easy to get the next version with benefits. If you decide to quit, you leave with exactly what you already paid for in the first place. Sure, it's not as nice as the Sublime Text model, but it's a fair, decent, and non-broken model.
In contrast, subscription software expects you to pay in perpetuity so they can take risks with your money instead of their own on new versions and features. Generally nothing is guaranteed to you at all, only access to whatever version of the software is current. No guaranteed support, upgrade times, or anything. And when you leave, you get nothing at all.
They already did... somehow. iirc their original plan was that you'll lose your license after you stop paying. But due to a big backlash against that, they changed it in a way that you can keep the license for product available 1 year before you stop paying.
You get a license and access to all updates released for duration. But if your license is not renewed at the end, you lose access to updates in the year/time since you bought the license.
You still keep original version at the time you purchased license for as long as you want, though.
I'm fairly certain the Jetbrains subscription model is:
(Edit, I had to look it up, the exact wording is:) "You will receive perpetual fallback licenses for every version you’ve paid 12 consecutive months for.
Other notably nice app/programs that uses this or similar sane, friendly models including Sublime Text 4 and Jetbrains products:
- Agenda (Mac, iOS) Planner/journal
- Manic Time time tracker (Windows, maybe Mac). This can easily save you many hours a month or help you increase billing.
feel free to add more examples here, we should make some positive noise about companies that don't abuse their customers.
(Please don't misunderstand me: Open source is often even lovlier but there are plenty of lists of Free/Open source software.)
Subscription models like Office365, Creative Cloud, etc., lock you out of the software version you’re already using when the subscription expires. In this approach, you can continue to use that version just fine. (And even still upgrade, if you’re yet not on the newest version your license extends to.)
Normal subscription models make you lose access to the software if you stop paying. With Sublime Text's new license model you retain full access except to updates released after the 3 year period has lapsed.
Not really. Subscription means that the thing stops working once you stop paying. This is a purchase with included maintenance subscription, a bit different (and much better).
Not really since you don’t lose access to prior versions. It’s more like buying the old Photoshop CDs but then getting three years of updates with that purchase.
That is a good model, but I'm a little confused about the transition. My license from 2015 obviously doesn't include ST4, but does it still include all versions of ST3 since it was purchased before this change? Or was it retroactively updated to only capture ST3 versions released during that 3-year window?
Why's that? It depends how frequently a major release happens. If it stays at "4.x" for 5 years, I'd way rather have the "tied to a single major version" license :)
That's the problem, though. The old model gives Sublime weird incentives, where they would be better off bumping major version more often to force people to upgrade. Or push features back until next major. And if they don't do, they are basically working for free for a few years.
That's not what OP quoted though -- the new licensing model says you get all updates for 3 years (regardless of version number).
So with the new license model, let's say v4.7 gets released at 3 years and 1 day, you won't get the v4.7 update. Whereas if the license was tied to major version, you would get 4.7 and onward, until the dev decides to call it 5.x
It's software like Sublime that sustains my faith in the software industry and why I'm still a developer.
It's beautiful, efficient software that single-handedly proves that desktop software in 2021 doesn't have to be a shit, low quality side show to SaaS "apps" and mobile.
Heaven knows what their code looks like. Perhaps it's best it never goes open source so we can sustain the Opera-esque magic of a <10MB binary that packs so much punch.
> (…) Sublime Text has — in my experience — only gotten faster. I love software that does this: Software that unbloats over time. This should be the goal of all software. The longer it’s around, the more elegant it should become. Smooth over like a river stone. I have full trust in the engineering of Sublime Text because I’ve used it for over a decade, but also because it always feels like a fast, focused tool (even though it’s actually very complicated) and has only become faster the longer I’ve used it.
The whole essay is a nice read.
EDIT: Something else I wanted to add: I’ve tried other programs (file managers, for instance) that attempt to emulate Sublime Text both in interface (keyboard-driven, command palette, etc.) and speed, but they mostly manage to hit the former while blowing the latter. Fast software is hard!
I don’t use sublime in my day to day, but always keep it on hand because it’s the only IDE that quickly opens for viewing very large csv or similar files without a hitch. PyCharm, VSCode, Aton all barf under these conditions.
How big of a file are we talking? I've had to open multi-gig Maya ASCII flies before to find broken nodes and Sublime was always my go to solution. Scrolling performance takes a hit, and the file can take some time to open, but overall works reasonably well.
I buy mostly nothing, use ms alternatives like libre office, blender, gimp, resolve, darktable, etc, but sublime text has been a fantastic lightweight ide, like a notepad++ or gedit. Even when other big companies are coming out with nice free smaller than before apps, I'm happy to have bought sublime. I find I can use many editors at the same time for different uses to separate my minutia.
Yes accepts a max 3 year old v3 license. Mine is 8 and been worth it, just not another 70$ now that I’m force learning myself vi :-) 3 will remain fine for the quick things I want it to do
I love it in general, but in particular there's one feature that I can't do without: column mode. I don't understand why other editors haven't copied it (at least to my knowledge. If you know any other that has it, I'd like to know). For those of us that often work with CSV-like formats, it's a real time saver.
It's also better behaved for huge files than any other editor I've tried.
Column-mode in editors comes from ancient history.
The BRIEF editor for MS-DOS, intended to be a "Programmer's Editor", some time before 1990, already included column mode and many other features that few editors have today.
I've been using ST3 for the past few years, and I have a go-to keyboard sequence for a column mode equivalent: Select the entire block, press Ctrl+Shift+L to split the selection into individual lines, press Home to create a cursor at the start of each line, and use the right arrow to navigate the cursor to the desired column. (You can also edit the end of each line by pressing End, move by entire words with Ctrl+Left or Right, and so on.)
UltraEdit is probably the best text editor there is. Not the best IDE or anything, just the best text editor. It seems thoroughly underappreciated, though, for some reason.
It's the only editor I'm aware of that can do do disk-based editing, that is you can open a file of multiple gigabytes quickly and edit it because it doesn't load the whole file into RAM.
That's quite a claim. I'd put it up against EmEditor (https://www.emeditor.com/). Not only does EmEditor have amazing support for large files, it has Excel-esque GUI support for delimited files.
I use vim out of the box with no plugins and on windows. Not sure if that makes a difference. I’m also typically not editing the file but searching logs.
I used UltraEdit a million years ago and I think it’s just a matter of familiarity. I remember being unable to go back to BBEdit when I switched back to Mac from Windows, I was so tuned in to UE’s power features.
When I tried Sublime 2 I wanted to like it but it just felt weird, so I went back to… TextMate, which probably feels weird to other (especially younger) people. But I’d been using TextMate forever and had a lot of things integrated with my shell so that was my “normal.”
I’ll give Sublime another try though: I want their business model to work, I love that they’re cross platform, and the plug-in API looks pretty nice now that I’ve done a bunch of Python work.
Same here! Made the journey from QEdit to Vim to UltraEdit to Notepad++. These days I'm dabbling in Emacs and Notepad++.
Emacs for Org-mode - arguably the most revelatory single piece of software I've seen in 40 years of working with Software. Notepad++ is a safety crutch that I haven't let go.
Visual Code is OK. Not exciting though lots of respect for it.
UtlraEdit's smoothness, speed and polish are highly commendable. Just don't have the need to spend on the annual licensing for it.
QEdit on DOS... now that brings back some memories! I went in for their flagship TSE (The Semware Editor) when it came out and was duly impressed.
I have used Notepad++ as my regular non-IDE editor for probably 15 years; there are a handful of (semi-)unique features that I really appreciate. I'm guessing UltraEdit keeps its user base for similar reasons.
A long time ago... used it a lot in 80x50 line text mode, lightening fast, good macro and configuration options (ISTR a separate tool to "reconfigure" the main binary). Had many of the same default bindings as the Borland IDEs, handy since the TurboC IDE used to run out of steam around 1000 loc or so, that's when I learned Makefiles.
Never took to TSE, sequence of bad experiences with stability.
Then there is SlickEdit which has been around for decades as well. I wonder how they are able to continue to be in business with all of the editors such as Visual Studio Code being available for free.
I still have my original SlickEdit installation CD from long long ago. As far as how they can continue to be in business, easy - corporate maintenance licenses...
Good question. I tried it for an embedded project and it didn't strike me as anything special. It could also be there are some great features hiding there that polyglots will never have the time to explore.
Back then I loved UltraEdit. It was the fastest editor at the time and could open even the most humongous files.
Since then, I've used notepad2 for quick editing. And even for coding. Really loved notepad2. It could only edit one file at a time but that was part of its charm. I would have multiple notepad2 files open while coding.
Back in the DOS days I used Brief, Multi-Edit (syntax highlighting!!) and the Borland SideKick TSR notepad, remember that?
Nowadays on Linux, I code and write everything on Vim. Can't live without it. Cured my carpal tunnel too because I don't have to move my fingers to use the arrow keys or mouse.
Yup, this was my exact experience. In Windows land, I used whatever IDE was built for whatever language I was using (Turbo Pascal, Visual Basic, Visual C++, Visual FoxPro, Borland Delphi) When I started doing web, it was all Notepad++ and BBEdit, Dreamweaver. Then I found Textmate. It was so perfect. Having no Windows version was so upsetting. When Sublime showed up, I was so happy. I had always used Vim in my IT career though, so once I started learning how to make that work for more than editing config files, that became my daily driver.
First thing I do when installing it is to turn off the ribbon and set it to the good old menu-based UI. Which of course, might be "ugly" for you as well.
I have UltraEdit. It's okay. The wordfiles are woefully anemic to define languages. The snippet system as well. It really needs a revamp. Also, the MacOS version IS different from the Windows version. ST is the same on both platforms and that is important to me.
my work makes us use UltraEdit (custom langauge) and frankly I hated it so much I wrote a custom language plugin for sublime my self so I could switch back.
UltraEdit just feels like it's stuck 10 years in the past.
In what way? I have used Sublime2 and 3, which might feel faster, VS Editor (I think is the name), much heavier, and Atom I think is the other. Never felt "wow, this is the future".
UltraEdit is clunky, the UI is very dated and the fonts are not well rendered.
It's not fast and has a large lack of theme support (there's no solarized theme for it, which is industry standard at this point).
I just didn't like it and would rather use a more modern editor, e.g. sublime. Only took a day or two to write the required plugins to get our language support for it.
From the website it looks like a Windows-oriented tool. If it weren't for your product I wouldn't have even guessed they had a Mac version. I bet they'd do much better with adoption if they customized their homepage screenshots to the platform viewing the page…
Indeed, I purchased a perpetual Ultraedit license for Windows, Mac and Linux many years ago. I like the hex editing, huge file support, column editing.
The same is true of the "column edit" functionality in VS Code. I don't think there's anything that requires the mouse, especially since from the keyboard you can invoke the command window to run any function.
For sure. I was more pointing out a feature I find helpful (and one I didn't know about for a while) than trying to "convert" you. Use what works for you!
I've learned about mac text editors from online ruby on rails tutorials. Both TextMate and SublimeText put me in awe, coming from windows based development they seemed much more polished. It was specifically marketed as distraction free and a lot of my university peers preferred them over whatever tutors were trying to push down our throats (mostly eclipse at that time).
I'd hazard a guess it's just marketing that makes the difference in popularity. I've seen both Sublime and TextMate being used a lot in talks. They tend to present very well in, ehrm, presentations. Try doing that with UltraEdit. Toolbars and other "cruft" get in the way
I used ultraedit like 15 years ago, but switched to notepad++. I think due to performance problems. I don't like sublime3, too much tinkering via a command line.
Yeah, notepad++. I also tried it. The price was better (free), but it lacked column mode, "reformat paragraph" (it basically takes separate lines and makes it into a paragraph), and trim trailing spaces, at least when I tested it, which I used a lot.
I remember using it in 1999 it was outstanding compared to what else was available on windows and I’m not a vim/emacs kinda person. Might give it another try
I mean, Emacs is a bit like that. Newer text editors and Vim captured all of the younger generation. I haven't met anyone using Emacs as their daily driver, except professors.
Same. I've used a lot of git UI tools in the past (SourceTree, TortoiseGit, GitKraken, Tower, GitHub Desktop, SmartGit to name a few), but when I first tried out Sublime Merge I was blown away and never looked back. It was insanely fast. The UI makes sense and intuitive. Plus the killer feature which is customizable commands in every menu you can think of.
Desktop software is superior to web in virtually every way except:
(1) Collaborative features and syncing are easier to build when all the data lives in the cloud. There are currently no easy ways to build collaborative decentralized apps that scale and perform well and don't lose data. The best compromise solution today is probably cloud syncing, which is the Apple approach and keeps most of the brains local while using the cloud as a cache and a relay... but that tends to lead toward more and more stuff going to the cloud over time.
(2) The cloud is the only DRM that works. Cloud software can't be pirated because the user doesn't even have most of the software. At best the user gets the UI frontend in the form of obfuscated JavaScript or WASM.
(3) Due to #2, it's possible to easily collect recurring payments. "Recurring revenue" is the holy grail of virtually all businesses. Some VCs don't even consider non-recurring revenue in valuing a startup company. If your company collects $1M in one-time licenses and $100/month in subscriptions, some investors will literally chalk you up as having $100/month MRR.
(4) Cloud SaaS is a political loophole around free-as-in-beer ideology. The "information wants to be free" ideology tends to poo-poo commercial software and insist on the freedom to pirate everything, but cloud SaaS gets a free pass. Even better: with cloud SaaS you can use FOSS software without giving anything back! ... unless the license is AGPL, BSL, or Commons Clause, but those are not "true" FOSS licenses according to the FSF. (The AGPL sort of is, but it's also not strong enough to really prevent SaaSification.)
(5) Last but not least: shipping software sucks, especially on Windows. The Windows MSI installation subsystem is a horror from the deepest smoldering pit of hell. Be sure your company offers mental health benefits for PTSD treatment if you have to ask an engineer to deal with it. Mac and Linux are a little better but they are collectively only about 1/4 of the desktop market. The web offers a zero-friction "install" process that makes adoption and updates seamless and easy.
If those problems can be addressed, we can see a renaissance for real software that serves the user and doesn't have 100+ms latency for every action.
I don't think that (1) is true at all - you have the same problems in building a collaborative application using a web app as you would desktop software (e.g. let's say that you want to do multi-user real-time collaboration - you're going to need to use CRDTs no matter if you're writing C++ or JavaScript).
(2), (3), and (4) are true (they're why I've stopped making my tools available to others), although from a business sense, which is separate from a pure quality sense.
(5) can be addressed with some basic tooling and meta-tooling. I don't think that these are that hard - and, more importantly, the web has a complementary problem, which is that you have to do a lot of engineering to get things you get for free on desktop (most notably, persistence - compare the ease of setting up a database service for your cloud app with just writing to a file on desktop).
I like an editor that's fast enough, isn't bloated and isn't Vim.
Don't always need the IDE.
And although I can use Vim, I'm just not as efficient with it to use it 100% of the time. I learned a little to be able to work on remote servers but that's all I need. I can use a GUI editor like Sublime for the rest.
Before I switched entirely to Vim I used a remote editor plugin for Sublime that let me edit files over SSH. Didn't work for every case but was handy for editing webpages live on my dev server before the age of Vagrant and Docker.
A plausible explanation is that it's doing some kind of preprocessing of the file into a data structure that allows for faster or more responsive scrolling and editing of huge files. For example a rope or similar: https://en.wikipedia.org/wiki/Rope_(data_structure)
I'm a Data Engineer that works all day with all sorts of data, most of which gets streamed through python, dataframes, some sqlite, lots of awk/sed - but at least a half dozen times a day, every day, I drop a massive chunk of text into Sublime and crank through it - its progressive regex, fast filtering, search/replace are just coded into my finger DNA - It handles absolutely huge files that would cripple something like vscode - I understand why some people who have been using Textmate for 20+ years will never use another tool as their primary text-editor - once you've found "the one" - it almost becomes part of you.
Happy to buy every version of Sublime that ever gets released.
I'm blown away by how snappy this is. It always is, but it's even better now. This is really impressive work.
I don't think I'm the target audience here. I just spent 30m trying to tune this for a TypeScript project, and I can't seem to easily get eslint, prettier, and a few other tools working. I added the TypeScript language server package, but it doesn't offer any of the effortless reference navigation and refactoring I'm used to.
Having said that, am I just missing something? Can Sublime be that kind of editor?
I think I'd love to give it a shot, but without these conveniences I'm feeling like I should stick with VS Code.
I've used the following list of packages for eslint, prettier, and TypeScript. It's not as effortless as it should be, but the two LSP packages in particular do give reference navigation that's pretty equivalent to VS Code.
If you're on macos, I also recommend creating a file at ~/Library/Application Support/Sublime Text 3/Packages/User/Default (OSX).sublime-mousemap with the following contents -- this adds a cmd+click "go to definition" shortcut that's also equivalent to what VS Code provides. (I guess the path should be "Sublime Text 4" now? but after upgrading, the config at the "Sublime Text 3" path still works for me.)
I've tried to switch to VS Code a few times -- language features (especially TypeScript) tend to work better out-of-the-box but it still isn't close in terms of performance. If you want IDE-like features to "just work" then VS Code is definitely the best choice, but the persistent (albeit sleight) input lag drives me up the wall.
Sublime can definitely be that kind of editor, but requires quite a lot of setup in some cases. There is a language server plug-in, which (IMO) is not straight forward to customize or even setup, with very little feedback when something goes wrong (broken LS implementation, or misconfiguration). However, when it does finally work, it's super snappy and clean.
The philosophy of Sublime is almost opposite to VS Code and other IDEs. Instead of everything enabled by default, everything is simple and lightweight by default. Then you add your own things on top.
I mostly see it as analogous to programming, where I too prefer to start simple and add things I control on top and where I understand the whole stack. Compared to picking a huge framework which lets me get started but where I don't understand the hundreds of layers beneath.
Since I use Sublime Text since years, and plan to use it for years to come, I see it as an investment to learn the underlaying functionality and eco system from the ground up. It makes me a better and more productive programmer in the long run.
I use Sublime instead of vim/gedit/notepad/notepad++ for quickly viewing files. The main benefit of Sublime over VSCode is that it opens several orders of magnitude faster. However, in terms of doing actual programming work I prefer VSCode over Sublime because it has way better plugins.
Sublime Text used to be my main editor but when I've started developing more in TypeScript I dropped it because I could never get it working well enough. I'm using VSCode now and TypeScript with it just works without having to install and configure many half-working packages, some of which will conflict with other packages you might use.
Perhaps ST4 addresses these issues, but personally I probably won't go back to it.
I was a Sublime user, then Atom, and now I’m a VS Code user. In 2021, what reasons are there to use Sublime over VS Code? Performance is the only one that comes to mind, but there are surely others... right?
I tried VSCode and Sublime each for a month earlier this year.
I was surprised to find myself deciding on Sublime at the end of it.
It came down to performance but also clutter. Sublime is fast. But also, VSCode just had too many panels and bells and whistles.
And VSCode's defaults were just all wrong. Like trying to autocomplete every other word when I'm typing text in a .txt file -- it's not even code! I couldn't believe how many random options I had to hunt down just to make typing usable and not trying to insert a million things.
Typing in Sublime seems to operate... just how I expect it to.
Yeah, I use VS Code daily but it took me a very long time to set it up in the way I liked. Everything from colors, text/menu sizes, fonts, toolbars to shortcuts and more. I'd say ridiculous customizability is a big benefit of VS Code in that regard.
The defaults are there to onboard people, or to work for people who are light users. Any tool, not just VSCode, you use for hours with every day is worth spending some time configuring to the way you want and work well in. Learning it, configuring it, and even extending it with your own plugins, can pay huge dividends for your productivity.
I think Atom also does that. I need to escape a lot during typing text files. Notepad++ also does that. But I do understand getting auto complete comfortable is difficult.
I prefer the performance, design, configuration management and plugin ecosystem of Sublime to VSCode. I also found Sublime Merge growing on me despite not intending to use it, so I think it's something about how the developers think, not just the one tool I've gotten used to.
I don't know how to describe it, but there are a lot of little aggravations Sublime avoids.
What Sublime doesn't have anymore is the community zeitgeist. I definitely feel more like I'm sticking to tried-and-true as a user these days, than something innovative, even though it's still innovative.
I've tried to make the switch from Sublime to VS Code a few times, and a few things consistently hang me up:
* Performance, like you mentioned. I've very used to opening hundreds of megabytes of line-delimited data in my editor; anything that can't keep up with that immediately ruins my "tempo."
* I don't really understand how to customize VS Code's UI. It has a lot of little toolbars and widget panels that I don't want (I have everything except for the edit buffer on Sublime removed), but I can't find any obvious way to permanently remove them. Maybe I haven't looked hard enough.
* This one is largely my fault: 10+ years of Sublime Text have broken my brain, and VS Code's default bindings are just different enough to cause me significant annoyance. I'm sure I could spend a couple of hours fixing them, but I'll admit that the thought gives me pause.
On the other hand, I really like VS Code's session sharing feature (other than the shared undo/redo buffer). I'd love to see a version of that for Sublime!
FWIW, VS Code has a "zen mode" view which hides everything other than the editor window, which kinda makes it comfortable for people coming from vim, sublime and the like. Try it out sometime.
> I don't really understand how to customize VS Code's UI.
I don't think you've tried :)
View => Appearance has options for toggling all the "bars" ("status" bar, "activity" bar, "side"bar).
Also zen mode is a very nice way to toggle to a mode without any toolbars (you can customize which show up in zen mode; just open the settings UI (Preferences => Settings) and type "zen".
I've tried VSCode a few times hearing it was better for Elixir.
I have a strong dislike, bordering on hatred, for IDE's. I don't want a bloated environment that gets in my way with features I don't want but seemingly can't turn off. VSCode feels like an IDE to me. Back in the day I moved away from Eclipse to Sublime and built command line tools to do what I needed with building releases (Ant - does that still exist? LOL I don't do java anymore).
When you realize you want VSCode to look and feel like Sublime, and spend hours trying to tweak settings, turn things off, use Sublime keybindings, etc. why bother? Just use Sublime. Also, I like paying indie devs for their work.
I've tried using VS Code after years of coding in Sublime Text but quickly returned to ST - VSC just felt so slow, bloated, sluggish and overall unpleasent that all other features didn't matter because it simply made writing code irritating, it felt like the IDE is more important than the actual code you write and the editor is less important than all the bells and whistles.
Right now the majority of development I'm doing is Python/JS/TS. I've been really liking the Pylance extension by the MSFT team for VSC, it is so much faster than Mypy etc.
Then for JS/TS, the out-of-the-box support is what won me over from being a ST user for nearly 10 years.
Happy to see Sublime still enjoying major version releases; i say this as a religious Textmate 2 user. Monocultures are rarely good for innovation and these projects monetizing in a sustainable way is a tide that raises all boats.
Also, a few comments here are asking versions of "What does Sublime have that $MY_EDITOR doesn't?" For many the answer is simply "experience". The idea of swapping off of TM2 for me is daunting because of the sheer number of keyboard shortcuts i've memorized. Most i don't even know by heart but rather by hand position.
How feature-rich an editor is should be less important than how feature-complete your understanding/usage is.
One of the features I am most excited about it tab multi-select. The simplicity of using it versus traditional pane management is really key, in my opinion.
Instead of having to manage groups and the files within them, tab selections are very fluid and low overhead. From the user experience perspective, I think they are as fundamental as multiple selections and Goto Anything are.
There are some docs at https://www.sublimetext.com/docs/tab_multi-select.html. However, I recommend opening a folder and holding down ctrl/cmd when selecting files from the side bar, Goto File, tab bar, Definitions popup, etc.
It integrates well with ctrl+tab, and the Definitions navigation flow is pretty user-friendly.
Oh wow! Thanks for pointing this out, that really does sound interesting. Until your comment, I had thought tab multi select meant you could do multicursors now across tabs.
I recently discovered that a friend of mine was a big fan of Sublime. Said friend doesn't do any coding, and isn't at all technical, so I was curious. Turns out that it's used a lot by their circle of colleagues in the editorial text world as a fast and approachable tool for bulk editing large, raw text files (as in manuscripts, books, manuals, etc.). Makes sense!
I don't know how I'd work out just how much more productive I am because of ST, but it'd be interesting to see.
I've written 4 plugins so far. My most used two are:
I created a tool to take a tab-separated table(when you copy data out of excel) and convert it into an insert statement to a temp table, so I could copy from excel, run a keyboard shortcut, run the output in MSSQL and have a temp table with all the data available(Yes, I know MSSQL has an import function. This is quicker and easier).
Also, I switched to a mac and couldn't find a nice HL7 Message Sender, so I wrote my own as a ST3 plugin and it took on a life of it's own as a tool, with people in the company sending me feature requests and everything.
I've been using ST4 since the early dev builds and there is just no editor that makes me as productive as SublimeText. I tried everything under the sun from going with VIM/nvim for the majority of the time, vscode, atom, intellij, emacs (spacemacs).
The plugin ecosystem picked back up when Sublime started pushing out dev builds. The editor improved, got much faster, the plugin APIs expanded. Right now with my ST4 setup, I'm in coding ZEN. It's super snappy no matter what I throw at it, looks great, I know how to configure any keybinding I want, how to add new functionality with own plugins.
To me ST4 is a bit like VIM with customizations, except that it's much faster than VIM.
Happy to see ST4 got released and hoping it will attract people to consider it again.
I know people who love Sublime but are worried about it disappearing, or paying for an upgrade only to see development to stall.
It's good to see that the Sublime team have responded to this with a licensing model that rewards them for releasing updates:
> Sublime Text license keys are no longer tied to a single major version, instead they are now valid for all updates within 3 years of purchase. After that, you will still have full access to every version of Sublime Text released within the 3 year window, but newer builds will required a license upgrade.
I'm curious how this works at the technical level.
The license key presumable encodes both an expiry date and what version numbers it is valid for when it was issued (and therefore will continue to work for even after expiry)?
I'd love to use a lighter (in terms of resources) editor like this, but after using IDEA (not for java - but it's the single Jetbrains tool that supports all other language packs) the editor in this feels like comparing a car to a bicycle.
Sure, the bicycle starts off quicker, and you feel so much quicker.
But that's where the benefits end, IMO. I just opened up a client project with this (that project is a mixture of php, sql, shell, and some client side browser code).
The symbol recognition compared to IDEA was pretty abysmal. Then I thought maybe I need to try the other way (i.e. find a usage of a symbol manually and then try to resolve it back to its definition).
That the find-in-files results are just another text view with paths in there is probably appealing to some people... me I'd rather you just let me open the file.
I like IntelliJ a lot but it has some distractions that make me keep an eye on the Sublime/Vim/Neovim communities because I'd love to switch to something lighter and politer.
A couple of small examples in IntelliJ:
I see the “IDE Fatal Error” light flash about 5-10 times a day. It's quite hard to ignore and you have to dismiss it by opening a window soliciting feedback about what you were doing when the IDE exception occurred. I generally have no idea what caused the exception, so I usually leave the feedback field blank. It feels like being a mechanical turk for exception reports. (There's an 11-year-old YouTrack to auto-submit exceptions in case this annoys anyone else too: https://youtrack.jetbrains.com/issue/IDEABKL-5835 )
Most themes show a large number of stripe marks in the editor scroll area for errors, warnings, “weak warnings”, and more, which lights up the scrollbars for no good reason. You can turn these off in the preferences along with all of the other visual clutter. But I got so frustrated having to track all of those options down whenever I try a new JetBrains IDE that I ended up making a theme that reduces a lot of the visual noise by default, such as only showing stripe marks for errors: https://plugins.jetbrains.com/plugin/14858-blackbird-theme
For the last point, you can double click on a line in the search result page and it will open the file for you. I have to admit I don't particularly enjoy this search UI either, it's rather unintuitive, plus somewhat annoying as well since when you do a new search, if you don't remember to close the search result page the new search results will be appended to the existing page, which isn't what I want most of the time.
Just deselect the "Use Buffer" button in the UI where you type the search, and results will then be shown in a more traditional panel at the bottom of the window.
+1. Sublime is a fantastic lightweight text editor, but the version that I've used simply isn't an IDE. Excited to see what new features are in this one, though!
And on a Mac this is where I fail to see the market for it, particularly at $100.
If you just want something lightweight to open text files but still have some basic syntax highlighting, there are heaps of choices that are better Mac apps. I'd suggest any/all of these three (all of which happen to be OSS but that's not why I recommend them - I didn't actually realise until now that they all are)
In what ways are they better? Or just being more "native" in some way? I use sublime mostly because it has multiline editing and regexp find/replace, these seems to have it too, which is awesome.
(by the way, completely random question: do you happen to know a lightweight image editor on osx? I tried few and they were either not working, bad, or some combination of both; on windows I use Paint.NET which does all I need and is fast, quick to start, etc..)
Well they look/behave like regular macOS apps. It's very apparent that Sublime is a cross-platform app IMO. Even IDEA, which has a god damn java UI, manages to integrate better.
They also don't reduce everything to a literal screen of text (seriously, I hit Cmd-, in Sublime to see preferences, and just got an empty text screen... I guess I have to just work out what options it has by randomly trying stuff?).
The extent of my image editing needs on macOS is typically solved by either the "Markup" tool on an image, or Preview (i.e. highlighting/drawing attention to something on a image, and/or cropping an image).
I've used ST (2 at the time) for a long time, back when IDE's were hardly offering any help or support for web development (early 2010's), since they couldn't make heads or tails from JS applications.
I've done some other things in the meantime, some Java, some iOS development, etc. I tried Atom for a while, but it was just too sluggish. Then came VS Code, and for a good while that was the One. And to date, VS Code still gets frequent major updates and active development.
However, nowadays when I scan the changelog, 99% of it is just not relevant. They spent a ton of development time building a terminal client into it. Which I guess makes sense for the use case where it's an in-browser editor, but personally I could have done without. Other things I don't really use are debuggers, remote editing, etc. It's still snappy enough, but I don't know if it's still relevant for me.
For the past year or so, I've been using intellij as my primary editor for everything; JS and TS support are now good enough, performance is good enough, and it's a big help with Go, old PHP / JS, etc code.
But I'm still nostalgic about ST from a decade ago, how fast and frequently I would just go `subl somefile` and it would be just There. Or the time I found a todo plugin that just worked fast and intuitively. Or the joys of cmd + p to open a file quickly, or fast global find & replace (really useful if cmd+click on a function doesn't navigate to said function).
I just hope it works well with existing system and languages, e.g. using the TS language server or Gopls. I don't need it anymore as an all day working environment, but quick and dirty editing, yes please.
How long does it take to open is not the meaningful metric; what matters is what happens afterwards.
And yes, most Electron apps do get sluggish under load: Spotify is alright for adding the first 20 songs; then searching >> adding to playlist takes twice as long; then triple that, and then it's downright unusable. "But 90% of the time it's fine...". Ok, but that didn't used to be the case with mediamonkey on a Pentium III, or did it?
VS Code is perfectly fine if you're being sensible: you're editing a dozen files in a single project. It's not not so fine if you've got 12 files open on three different projects, or you're sharing your screen, or you've never closed the editor for a couple days. It's being built with care, for sure, and yet you do feel the load, you do have to take resources into account, you have to be responsible. Do I need to Invest on higher end machine for the purpose of Editing Text Files? There are times on Emacs when I suddenly realize I've opened a hundred, 150 buffers, simply because I've never felt any load. And Emacs is the heavy one!
Sublime was the first editor I used "for real", and it was absolutely awesome. I switched to VS Code for all its shiny features and started to think that yes, it had its sluggish moments, but it simply saved too much time, it was way too efficient to leave. Well, it isn't. Lightweight tools have an steeper curve, but they draw no boundaries for you, they don't hold any usage agenda; they do, in a way, set you free.
I was a trial user for years back in the Sublime Text 2 and 3 days, then moved over to Atom when it was the hotness that was clearly Sublime Text inspired.
Atom was just never fast enough. I still use it to this day, but I recently purchased a Sublime Text 3 license just to use Sublime Text 4 while it was in development and now I use that alongside Atom.
It really is incredible how immature Atom was. You literally could not multiline search and replace. Incredible.
From the announcement text, I assumed Language Server support as well. Not your fault, since you haven't mentioned it specifically.
However, Language Server is way more than syntax support and a huge time saver for Typescript developers. You'll need it to attract Typescript developers, especially since your customers are likely to be advanced users.
This is interesting. Does that mean that it's not possible to goto-definition for a file that isn't open? What about goto-definition of a file in a different module?
Combining syntax highlighting and code navigation seems like a reasonable approach, I'm just curious how it works.
Goto-definition, goto-anything and now auto-complete use the folders you have added to the project (under Project > Add Folder to Project…). We use all these things internally to navigate our (relatively large) C++ codebase.
The last time I tried, all the plugins were significantly laggy and while nvim was functionally complete, it had this annoying behavior of switching out of insert mode if sublime lost focus. Apparently that's by design too.
Sublime itself was super snappy though. unfortunately a good vi/vim mode is a requirement for me.
NeoVintageous is the most complete, up-to-date Sublime Vim plug-in. It is a fork (I think?) of Vintagous, whose author went on to make Six, both of which now seem abandoned.
NeoVintageous comes with many more features out of the box (Vim plugins like Abolish, Surround and Sneak!). Since choosing it I haven't had to install or do any additional tweaks (apart from customizing a few settings).
I really wish that Sublime would add an integrated terminal panel. None of the packages I’ve tried that do add a terminal view, work the way the way I want them to. It’s really the one feature that’s holding me back from even trying to switch away from VS Code.
The whole set of Remote Development extensions is a game changer. You can be remote and it feels like being local with the terminal, debugger, files and language server.
It's especially useful when your laptop is running a different OS than Linux which is often the target.
I just hate the overly zealous autocomplete that fixes good words into bad words and forces me to hit Esc every time.
Agreed. Set up your terminal to automatically come to the front with a keyboard shortcut. To me this seems better than having it built in to the editor in every way.
Same here. I was a huge terminal in editor user, but VSCode crashed on me a couple of times resulting in restarting all the terminals and the processes which I was running. Since then I always use an external terminal.
> `subl -` can now be used to read from stdin on all platforms
Cool, with how fast sublime startsup, I bet I will be using it in some pipelines with things like `vipe` (from moreutils). pasting things into sublime for quick text manipulation with regex replace and multiple carets is already a common occurrence in my workflow (things people use sed/awk for, but this is the "discoverable" way I am used to).
For some reason this is really slow for me, and I am not quite sure why. It seems to literally update the buffer line-by-line as input comes in, which is kind of unfortunate for large inputs…
I am perfectly satisfied with my existing (and now expired) Sublime Text license. Yet I just bought an upgrade anyway because I'm so happy with the software and the developer that I simply wanted to support them through further development regardless.
I immediately took out my CC to purchase an upgrade when I realized the upgrade license is only 12.5% cheaper than a full license. I dunno, man, personally that felt a bit like a slap in the face. I don't care about a few dollars more or less but I _felt_ underappreciated as a returning customer.
I'm a Sublime devotee and have been anxiously awaiting this release and the support for Apple silicon. In my unsophisticated benchmarking, 100% worth the wait.
With the same projects open, ST4 is using about half the memory of rosetta ST3.
The time to index my projects went from about 5 minutes to under a minute.
I'm in the same boat, it's great M1 support was added to ST4 whereas the discussions on forums (last time I checked) were not indicating it was going to happen soon. Very nice.
I sometimes do, sublime is a significantly faster and sometimes that works with my "though" process better than vscode. Pretty much, I use sublime text when I want to do something fast, and vscode when I want maximum compatibility.
I tried out VS Code after using Sublime for a while, and almost immediately switched back. I may have liked it if I used it more, but VS Code felt comparatively slow, and it seemed like there are a ton of tiny UI elements scattered in every corner, all trying to get your attention about something.
Just tried ST4 over the weekend and decided to switch from VSCode. Basically got everything set up exactly the same, but ST4 feels a lot better/faster.
i begrudgingly use VSCodium at work because they don't have a licence for sublime text and they probably wouldn't buy one if i asked. i swear it takes me twice as long to do things but maybe with time i will get more used to it.
one thing i do like about it is how easy it is to create split screen documents just by dragging then to the edge of the screen
I used to do battery life tests with different editors and sublime always win by a huge margin. This release claims both better performance, and also lower power use? How much less power?
I saw a post about ST4 beta here on HN about a month ago. Decided to pay for the license to support the devs, as I was using just the evaluation version before I’ve started by programming career, and then I’ve switched to IDEs and went back to editor world with Atom. ST introduced me to the world of multiple cursors and easy to usr shortcuts. Atom ported that well, and it’s the first thing I set up in vscode (thanks to the atom keymap package).
Sadly, I agree with the post I saw on the other thread month or so ago: “too little, too late”.
I see a lot of mention of how ST is fast, and that’s impressive. But being fast does not make my job web dev easier.
Vscode still delivers a superior developer experience, it’s easier for me to understand what’s going on under the hood and work with plugins. The speed is good enough, I work around the slower startup by having a window open at all times while working, so opening a new file is nearly instant.
I’m still glad that I’ve paid for the license. It makes me happy to see small apps that pack a punch and are fast, rather than going for the lazy way of using electron and eat up resources like crazy.
I intend to give ST more time on my personal projects. But I just don’t feel as productive, and to me it matters when I’m using an editor almost 8h a day.
I used to use Sublime a couple years back, I do not remember having a paid license though. When I had a slower laptop (I ran Arch on an 8GB/i5 4th Gen) I felt the need for a faster editor.
Today, I tried Sublime Text 4. It is definitely faster to launch and overall UI felt more responsive even in a couple clicks. But I could not see how to browse within the components/files (Ctrl+Click usually) in the folder that I opened (TypeScript/Deno project). VS Code does that without much effort. I could not see how to set debug breakpoints on the editor gutter (left).
I have an i5 9th Gen/20GB laptop now and I would still like a faster editor/IDE. I would be happy to take a license too. But getting debugger and project level browsing setup should be really easy and I feel VS Code does this, even if the overall UX is a bit slower. Plus plugins like Prettier, Git viewer and some other tooling.
I will spend some time but if anyone takes some time to figure these out, please share them. We need more editors so that we do not end up having one winner and then the winner starts becoming a slow monster...
As many stated here one of its strengths is speed: I “close” the editor when I’m done with it and I reopen it when needed: the boot time is <1s; but the speed is not just loading, it’s all over the application.
It really feels like a very sharp tool and I’m so used to it that I hardly can work with anything else because it would feel
clunky.
Voilà, I just wanted to share my appreciation to the ST team.
In 1999, I made a Starcraft blog entirely in Notepad. There may have been other options at the time but my download speed was < 28k in rural Tennessee.
Even though I stopped using it as my primary development editor years ago I still use it every day for quickly writing notes and quickly editing arbitrary files.
I just checked, I bought my license in 2013 and since I really appreciate good software that support linux I just upgraded the license.
Thanks for creating a product that has turned out to be useful in many ways over the years!
I still miss the old MS-DOS edit.exe for it's speed, utility, and availability. The faster the better, I can't abide waiting for something that edits plain text.
I might give Sublime 4 a go, because sometimes I just really need a super speedy text change. It will be competing with Emacs for speed and functionality.
Nothing eats through the huge json & text files I have to check on a daily basis, nothing comes even close... while all the funky new kids have crashed and burned trying to process the data I have to ingest, ST has been the one and only trusted source. Bravo!
If I had to guess it’s because the announcement of the new version drives a large amount of traffic to site and they want to entice people with a sale while the new features are still exciting.
I tried Sublime Text a few years ago, and it was OK, but I’m still sticking with Emacs which is burned into my muscle memory. I can use it with or without a GUI (I never use the menu) like in a remote SSH command line. The thing that could get me to move was if there was a Mac AND iPadOS version of Sublime Text.
Looking ahead, now with the M1 chip on the iPad Pro, it seems the next step for Apple would be to allow a lot more power in iPadOS, especially since it is a different OS than iOS on iPhone. We shall see. In the meantime, I plan to get the 2021 iPad Pro 12.9 to replace my 2018 12.9 and look forward to WWDC for any iPadOS announcements.
That table isn't a comparison between operating systems, it's data points to show how OpenGL compares to software rendering. The hardware used for each operating system is vastly different. The macOS benchmarks were run on a 2015 macbook air, whereas the Windows and Linux benchmarks were run on workstation desktops with dedicated graphics cards.
Too late, too little. Please don't get me wrong- I'm saying this with the utmost respect of a long-time paying user. I used to love and recommend ST but then it stalled in development. Have replaced it with VSCode ~3 years ago.
The approach VSCode takes as platform with a clear development and plugin model is imho better suited and what gives VSCode the competitive advantage (apart from MS backing it of course).
What remains is the Sublime keyboard shortcuts that I‘m using even on VSCode.
Folding code with curly braces doesn't "eat" the brace. It's indent-based, not syntax based. There is a 2 or 3 years old issue on their github, and they don't plan to fix. A little annoying for a paying editor.
Maybe they fixed it and I did not look up new settings?
Is there a good reason that I want to switch from IntelliJ if I'm satisfied with its functionality for web development except that I feel a lighter tool is certainly welcome.
Usually what lighter editors miss is auto completions on SQL fragments as it has no ability to access remote database to analyze the table structures, so they end up as plain text fragment.
I bought the license for sublime text 3 in which feels like forever ago but it turns out that it was only 2.5 years ago and I could use ST4 without having to purchase it.
Amazing. The product is amazing and I love the improvements. Before the language support for Elixir for example was kind of poor and it's vastly improved now.
I feel very excited to run this new version onwards.
I changed back to Sublime after using VSCode because the UI is just significantly snappier. VSCode has a ton more features but personally I don't think I need them, and the occasional lag when opening files or typing drove me mad. Sublime provides a perfect compromise between terminal-based editors like vim and fully-fledged IDEs, IMHO.
I love Sublime Text. Like many have said already it is indeed really performant. What I like the most is that I can open large files (say 600Mb files) and do stuff like regex search and replace with great performance. This would be pretty much impossible with Atom, or Bracket , or Vscode. I also found ST UI really simple and not bloated.
Sublime Text is my first tool to install on any new notebook. As someone who spends more time in meetings than in writing code, I almost purely use it as a note taking app and nothing’s come closer with just how easy it is to fire up a new note and get started! Thank you for building this.
I hope they have (or have plans to) updated the docs for their plugin API. I've made some bucks building plugins for ST3 and the docs are... scarce. It's a shame, because I prefer using Python for building plugins than JS or TS as in VSCode, but it was a PITA to find anything.
I love how Sublime text is fast and handles large codebases pretty well in my opinion when compared to using VSCode.
I’m definitely not trying to hate VSCode i think it’s awesome too with all the community support but sometimes it just uses way too much ram making my system slow
I love Sublime Text and used it for the first 6 years of my career, but I completely switched to VS Code. It took me 2 attempts and here are some things that eventually made me stay with VS Code:
- better sidebar: drag & drop, quick rename, copy/paste out of the box
- better project search: faster, opens in sidebar by default or you can open it in an editor tab. sidebar search results refresh automatically when you delete search occurrences from files. 'editor tab search results' have syntax highlighting and you can have multiple search tabs open simultaneously
- more usable extension store. I don't need to go on the web to research the best editor extension for given language/technology
Anyone with experience on Sublime Text with LSP support for C++? I'm currently using CLion but am considering switching to ST if things like autocomplete/go-to-definition/simple refactoring works for C++/CMake without much hassle.
No, previous versions rendered purely on the CPU. We did use the GPU on macOS to draw to the window itself, but actually rendering the frames was still done on the CPU.
Unless you're doing something graphically intensive you don't need a GPU at lower resolutions. At higher resolutions (or with much slower CPUs) you do need a GPU to keep up though.
I'm still using Sublime Text 2 on macOS Mojave and sometimes, but not always, if I take a screenshot of it, the text gets captured without syntax highlighting despite being highlighted on screen. So it's definitely doing some graphical shenanigans to render text as fast as it does.
Had to run the following command to make "press and hold keys to repeat" work. (for example holding down the e key will create eeeeeeeeeeeeeee, instead of an option menu to choose eêíë)
Does all of the documentation for sublime text 3 also apply to 4? Is 4 compatible with plugins for 3? Sorry if that's a dumb question, I haven't used sublime text in forever. Hoping to try it out on a flutter project.
Sublime is blazingly fast for all its features. I hope there will be similar UI for NeoVim in the near future (no Electron please). There is OniVim, but it dropped the NeoVim as an engine, which is quite sad.
I am also phpstorm user but I use sublime text exclusively for quick edits or for projects I have not set up "proper IDE" yet as opening whole project folder is much faster in sublime text and there is no need for import or index step which are quite slow on first open
I am a home, amateur developer and I was always curious why developers would choose an editor instead of an IDE.
When I started to code 25 years ago, there was no choice but as soon as I discovered IDEs I never looked back.
Startup speed may be an issue, but it is I believe insignificant for a coding session (of a few hours). Key bindings are portable. IDEs bring code completion, integrated debugging etc.
1.) Speed. IDEs often take seconds to start and you just need to edit .md, .json, *.sh.
2.) Support of different file formats and ease to install a new one with Package Control. Often, it's just Ctrl-Shift-P -> Type "Inst" -> type format's name and it's done.
3.) Many IDEs show the typed symbols after some delay and I really hate it.
1 → this is true but as I mentioned, for a coding session it would not be an issue. I use vscode (an IDE) for these quick edits when my IDE of choice (jetbrains) takes quite some time to start.
2 → vscode is the same. Jetbrains has this problem, though (I raised that point with their support but this will not change, unfortunately)
3 → you mean that the text lags when typing? I never saw that but I work on reasonably fast computers and only use vscode and Jetbrains IDEs
I am huge sublime text fan, and have updated my license, one thing that I would like to see is an official and better vim emulation extension, I know there is vintage package but it is far from being useful, and then there are other vim emulation packages that are not making proper use of sublime powers, so I would like to see a better and newer vintage package
Does it integrate with the OS text input facilities already? The last time I checked Sublime didn't support Windows 10 native word hints, MacOS long-press accented letter input and didn't accept keyboard shortcuts during using non-latin keyboard layout on Linux.
With ST4 we have native support for windows IME and better keyboard support on Linux and Mac OS. The long press has been working for ages as far as I'm aware.
Is there any way to get it to render at over 60Hz? I've got a high refresh rate monitor but Sublime still renders in 60Hz. I've enabled the hardware_acceleration and it shows up in the console but still no dice.
Oh, I was wrong, sorry. It turns out that it does render in 120Hz but the smooth scrolling is somehow still capped at 60Hz. Is there a way to fix that?
Doesn't seem to work in my setup. If I use the scroll bar manually by dragging it I do get 120Hz. Using mouse scroll wheel is 60Hz for sure. Same scroll wheel in Chrome/FF and it's 120Hz.
What's the best way to have both Sublime 3 and 4 on my Mac? Would it be to rename 3 in ~/Applications and its subl to subl3, then download 4 and let it run as-is?
Am I the only one who doesn't like the layout?
I really liked Sublime 3, I use it on a daily basis but something doesn't look right on this Sublime 4 :( idk
After having sublime have the same theme for years, changing the theme in v4 is very jarring. Is it possible to go back to the same theme that comes OOTB in v3?
The default theme hasn't changed from "Default" in ST4, though there have been some changes to it. The default color scheme however has changed from Monokai to Mariana. You can easily change it back using `Preferences > Select Color Scheme…`. You can also get back the old tabs - though they do have a reduced feature set - using the setting "file_tab_style".
I tried using the windows version of ST3 (latest dev releases) with project files living in the wsl2 space and ST didn't jive well with these "remote" files, so I ended up with VS Code and the WSL2 extension.
There isn't anything specific to WSL2 in Sublime Text. Depending on your use case I've seen people either run the Windows version or the Linux version with WSL.
Even taking performance out of the equation, ‘Go to Symbol in Project’ more than makes up for anything VSCode has. I’m amazed VSCode still doesn’t have that
No, .json file as always.
Honestly, I like it this way: it is easier to search for parameters and the comments over them explain quickly what each parameter does and how it can be changed.
I feel like they fumbled the ball a bit. Vscode was flailing for a long time before I finally switched away from sublime text. Sublime text had ample time to move the needle on the problems they had for years and ignored.
I don't think I could go back at this point, there isn't any real drawbacks staying with vscode and it's more likely to work with my companies processes.
This is the future of software even though sublime text isn’t new. People need to understand that the incentive structure surrounding the development and maintenance of software is as much a part of the software as the code is. Open source doesn’t work for the vast number of cases. When Linus dies, the only real example of a successful open source software project will die with him. Making things free doesn’t make you virtuous.
There are countless successful open source projects (libraries , frameworks and languages).
Open source have come to stay, besides, nobody forbidden you to put a price if you have a opensource project and you want to give a premium experience, with extra features, maintenance or even a technical support.
Not a joke! There are reasons why this fundamental truth has been obscured for the short amount of time that software has existed on a meaningful scale. One of them is the unique property of software not needing any physical resources to be created or distributed. The other is the cultural circumstances surrounding software historically, where often people were being pioneers with their contributions, contributing to the grand vision of computers and the internet which only very recently has been realized. And the average programmer historically was very intelligent and wealthy. It was a set of circumstances that created the illusion that the shackles of capitalism had been broken. But they haven’t. And as the circumstances change it only becomes more clear that free labor won’t be a successful model for software. And this doesn’t come as a surprise to anyone who has closely scrutinized the whole picture.
And the whole thing is made worse by the politicization of free software. People respect free software because it is “virtuous.” It’s a very short sighted notion that shares its roots with communism. If pure intentions counted then both might be successful but unfortunately it’s not the case.
To say that Linux was the last free software was obviously hyperbole. But the conclusion I have drawn is correct and you will see this whether you reflect on it now or stick around long enough to see the economics play out.
I'm one of the developers at Sublime HQ. We're all very excited about this release. If you have any questions you'd like to ask I'll do my best to answer them.