Sublime Text 4 (Build 4126)
sublimetext.comThere is only a handful of software (outside of games) that I'll shell out my own personal funds for. This is one of them. This is one of the few text editors that can handle stupid large files nicely. It 'remembers' what you have open, even if you don't save - so if the IT department does that random patch, you don't lose anything. Syntax highlighting and tool plugins, so it can make for a reasonable light weight code editor. The experience on Linux, OSX, and Windows is the same. The ability to do vertical column selection and insertion makes it crazy easy to make quick and dirty scripts with copy/paste data from other sources.
Yep, me too. I bought ST2, got the free upgrade to ST3, and recently paid for ST4. I install it across my Windows and Mac computers and it’s still great. It’s my go to text editor for years now.
Throwing this out here since you mentioned it - does anyone else get tons of hangups and temporary frozen windows using Sublime with unsaved files? I’ve always had this on a bunch of different Macs and some Linux machines. I don’t like working around by saving either, sometimes I just want a scratchpad.
You should check and see how large your session file is, perhaps you have some multi-GB files open that ST tries to persist continuously. Though with ST4 we did introduce async (session) saving, so it's surprising to still see it happening - perhaps a bug report would sort things out.
Never on version 3, unless some plugin is running wild or misbehaving (e.g. Anaconda). I also use it mostly as a scratch pad, with several unsaved files. (Haven't been brave enough to update to v4 because they're all still unsaved -.-)
The UI still hangs up when anything (including a project) is loaded from a slow sshfs mount. For this case I found optimizing the sshfs mount settings mostly fixed this. Now only rarely, sshfs decides it doesn't like something about itself and takes down Sublime with it.
That's interesting! I'll have to try it out as most my interactions with ST revolve around saving files.
Haven't faced this in a while, and thought this was mostly around indexing.
> The experience on Linux, OSX, and Windows is the same
You and I have very different definitions of “same”.
If the keyboard shortcuts where just “use ctr instead of command” I’d probably agree with you, but the shortcuts are changed dramatically between the 3 systems.
For example, replace uses F on Mac, but H on windows.
Same here, even if I seldom use it. Otherwise all these nice editors will just die, and their authors also have bills to pay.
UltraEdit is very much what you describe. But the column mode is much better IMHO.
Yeah I remember back when I was testing this which was about 7 years ago, UltraEdit performed the best on large files
Except for handling extremely large files, VSCode does all of that.
Or projects with a ton of files. I had such issues on ST3 i tried a bunch of others and now i wont even consider paying for or trying an ST4 upgrade.
Als i sometimes still accidentally start ST3 and i cant seem to disable the update check? I have tried a bunch of google answers but it still pops up, anybody else had/has this?
Preferences -> Settings
Add the following to your user prefs file:
"update_check": false
I still daily drive Sublime. I haven’t found an editor with less latency. It’s so fast and so consistent. VS Code feels like Eclipse in comparison.
Daily driving to do what type of work exactly?
I've been using VS Code for years now, and while it is measurably slower (I still use sublime to handle ad-hoc grepping log files as code just won't handle that, and scrollable, highlighting and multicursor is MUCH better than smacking bash pipes together), the batteries included "It just works" approach of code means I don't really see a reason to head back.
Maybe it's changed since the sublime 2/3 days, but the packages ecosystem always felt a bit unpolished and anemic.
I don't use Sublime often anymore, but it's the only graphical editor I can work with. I can't help but get exasperated at the constant, admittedly small, delays with VS Code. I'm talking about small things like the delays when popping open and using the fuzzy finder, the time it takes for a project-wide file search to complete, typed characters showing up just a tiny bit later. Whereas Sublime, for its faults, feels well-oiled, VS Code feels gummy and unable to keep up with me. I know I'm being picky, but it's hard to turn off once you're aware of it, like recognizing bad kerning.
>Maybe it's changed since the sublime 2/3 days, but the packages ecosystem always felt a bit unpolished and anemic.
As far as I can tell it's only gotten worse. The rise of Atom and then VS Code sapped a lot of the energy that went into creating plugins.
I've meant to ask this for a while, so I'll try here. Doesn't anyone else feel overwhelmed with VS Code? I've used it off and on for years and I still don't understand the hopelessly confusing settings menu, the several json files, or the unintuitive left sidebar. Somehow it just doesn't come together in my brain. Nor the confusing choice for tab colours where the foreground tab feels background.
If I want to edit config files for basic things, isn't vim better? And if I want more power, isn't an IDE better? At this point I honestly like Atom more than Code. Even on Linux.
Similar gripes here. I don’t use things like the integrated git support (Fork.app does that better) so it’d be nice to be able to turn off the sidebar entirely. Much prefer starting from something basic and adding what I need (Sublime) or a full blown IDE that’s opinionated.
I’m the same way, VS Code is very hard for me to use. I quite literally don’t get what’s going on. I don’t know which is faster benchmark-wise, but I work much more efficiently in Atom and Sublime than VSC.
Same. Busy and slow, and I will never understand why it is the default these days.
I went from Vim to Sublime Text 3 to VS Code, in the end it's all about what helps you work faster/better. There isn't in my opinion a choice to make here, really depends on the task you want to achieve. VS Code works fine for my projects.
(I still use sublime to quickly edit text but I was really disappointed with their latest version)
My frustration with vscode is because it feels like the pop-up menus try to steal your mouse focus all the time. Like, I try to move my mouse somewhere and about to click, but some IntelliSense-nonsense pops up under my mouse cursor and steals the click.
I had a similar experience. Plugins I needed had a strong MVP vibe and had only portion of features implemented. I ended up with VSCode that I still don’t really like but it gets me what I need.
If my editor is already has batteries installed whether they were included or not, why would I need to switch to VS Code? Because it’s cool?
The packages ecosystem is fine and always has been.
> Because it’s cool?
Because it works for me?
You seem to be acting like I'm an M$ shill out to convert people. In actually someone that uses both, stated my reasons for why, and enquired as to if my assumptions are based on outdated information that I may need to reevaluate in order to remain a competent developer rather than a tribalistic one such as yourself.
> The packages ecosystem is fine and always has been.
That statement is the exact same energy as "because it's cool". Every system is fucked in someway and ignoring those flaws in discussing them just belies denial or naivety.
I’m not sure you work for Microsoft or why you think the package system was anemic but my intent was to swap the variables to answer your questions.
One would never switch away from Sublime Text. It has always had a supportive package system since Sublime Text 2 and if you set it up with proper plugins it is a great IDE.
Where VS Code shined is with native JS support for beginner devs, as you said batteries included. But having already had that setup in Sublime Text (pre-VS Code) there would be no need to migrate editors.
It's quite annoying to see people going out of their way to let others know that they do NOT use vscode, js frameworks etc
no one asked
Vim with my plugins in the terminal is noticeably faster than vanilla sublime for me. Sublime feels like Vim does over a good SSH connection. Its definitely good, but whatever magic terminal emulators use is definitely faster.
Which Terminal do you use with vim?
Developer at Sublime HQ here, pleasant surprise to see this stable build reach the front page :)
If you have any questions related to ST or otherwise feel free to ask.
Please fix the issue on code folding being based on indentation and not syntax. People regularly write on this issue and it's still not fixed.
That's the only thing that stands between me and buying ST.
I wasn't aware that this is an issue. It seems to me that the existing feature is 'text-based' folding rather than 'code-based'. I wouldn't notice as indentation very closely follows the code block structure in most of the code-bases I edit.
It could be useful to open a feature request for 'code-based' folding, if the existing 'text-based' one is considered to be working as intended. That way we're not fighting over a definition but rather showing demand for a new capability that everyone would agree is absent.
For info, I was talking about this one:
https://github.com/sublimehq/sublime_text/issues/101
Editors like visual studio IDE properly fold code so that it results in a compact layout once it's folded. I would guess indentation-based folding could be made more compact and not take unnecessary lines.
As you can see I'm already assigned to that issue, so we've got something in the works.
Any plan to add support for Remote Development, similar to what VS Code and Jetbrains Gateway offer?
Any plan on developing a database tool? I think it would be a great complement to Sublime Text and Sublime Merge.
I believe Sublime HQ could really bring something in this space, because there are some good existing ones but none are great. Sublime DB could be great :)
Part of the attention to detail we bring is from the fact that we use the tools we build daily. We don't really have a use for a database tool, so I honestly doubt it would be any good.
Well if you ever change your mind, mySQL workbench is the only SQL GUI I've ever liked, and I haven't seen anything good (not electron, not Java, etc.) for postgres.
I understand, that’s pretty sensible. Thanks for your answer!
Have you had any thoughts about how to improve the indentation engine ST uses to handle the common "switch"/"case" statement style? As I understand, it would mainly require a way to unindent 2 levels at once when typing the closing brace (or just getting it to match the open brace line/position) and for the first `case` to not unindent, just the later ones (which to be fair, may already be possible with some creative meta scoping and tmPreferences fun, though perhaps just not easy to maintain).
e.g.
switch (something) {
case one: return; case two: foo(); break; }Pretty sure you're the best thing to happen to ST since Will joined the team :)
What's your test suite like? Whenever something is regressed in a dev build, do you try to cover it with tests? Or are the UI side of things not tested in an automated fashion?
What are the plans for matching VSCode's useful features, like the one whereby all syntaxes can inject themselves into Markdown fenced code blocks etc?
It'd be great to see some better SQL syntax highlighting support - I saw a community effort on the Packages repo aiming to address this. Will there be a way to switch "active" sql dialect? Or configure it per project?
> Pretty sure you're the best thing to happen to ST since Will joined the team :)
Thanks, that means a lot :)
> What's your test suite like? Whenever something is regressed in a dev build, do you try to cover it with tests? Or are the UI side of things not tested in an automated fashion?
The UI toolkit as a whole and platform integrations don't have tests, but the core parts like file encodings, data structures, syntax highlighting, etc. are pretty well tested using both integration, unit and manual fuzz tests. We also make heavy use of debug asserts and asan to catch bugs during development.
> like the one whereby all syntaxes can inject themselves into Markdown fenced code blocks etc?
I can't say when, but something like this is certainly on my radar. It seems like a clear incremental improvement on the existing syntax highlighting functionality.
> It'd be great to see some better SQL syntax highlighting support - I saw a community effort on the Packages repo aiming to address this. Will there be a way to switch "active" sql dialect? Or configure it per project?
This one is a lot more tricky as there are various tradeoffs to make. It's in my backlog of things that need to be discussed with other package repository contributors.
> whereby all syntaxes can inject themselves into Markdown fenced code blocks etc?
Maybe I’m misunderstanding, but I think you can do that with multimarkdown rendering.
# my code example ```python This = {“codeblock”: “is colored”} as = [“python”, “code”] ```This is only possible for syntaxes which ship with ST. If you want to put a Markdown fenced code block for a third party syntax like Svelte, then it won't be highlighted as Svelte currently.
I'm a huge fan. I've used sublime pretty much since the beginning of my career (switched over after emacs wrecked my hands a few months in). I've switched over to Intellij for java dev because its built in handling of things like going to definitions (cmd+click on my machine) and being able to swipe back to previous locations in the code, as if I were in a browser. Are these features supported in sublime, and if not, are there plans to add them? These navigation features alone would have me back over to sublime, today.
Goto-definition is powered by an index using the syntax highlighting, you can right-click on a symbol or use f12. Going backwards to a previous location is done using the menu Goto > Jump Back.
The lsp typescript package is substantially slower when finding completions than vs code typescript. Even though they are running the same typescript server I imagine. Any ideas why?
I don't use LSP so no clue. Best place to ask would be in an issue on the lsp plugin or in the discord.
In v4 right now the definitions from packages do not expand automatically, and for ruby/rails, if you type “def” and press Tab, it will select whatever Sublime thinks matches better the pattern def*, and to make function wrapper macro work, I have to just type “d”, then press Tab, it will highlight “def”, then I press Tab again, and only then the macro expands.
In v3 I can type “def”, hit Tab and it works right away.
Are you considering adding the option to change auto-compete behavior to what was in version 3?
It's working for me. There's a number of settings to configure how auto-complete works: make sure "auto_complete_include_snippets" and "auto_complete_include_snippets_when_typing" are enabled.
Sublime is one of my favorite software - Great UX, super fast, stable and bug free.
Thanks for listening and fixing the issue I've requested (handling files renames/deletes outside Sublime).
The only thing I'd like improved would be syntax-aware code folding, and folding support for Markdown files.
What would you say ST's main weakness is right now, and (how) do SublimeHQ plan to address it?
I wouldn't call them weaknesses, but I think we have a number of bigger changes that would improve ST.
Also, curious to know, what do you like most about developing Sublime, and what do you like least?
What I like most is being able to work on a project I'm passionate for with lots of freedom to make decisions. What I like least is most definitely dealing with the platform APIs.
My question is, how did you make it run exactly the same on all platforms (Windows, macOS, and Linux). No other cross-platform software works as seamless like this.
TLDR: Blood, sweat and tears
We have our own fully custom UI toolkit with a platform abstraction layer. Since we're the only users of this toolkit we have the flexibility to quickly make sweeping changes that can go all the way from the platform, through the toolkit and to the application code. We also generally make platform integration a priority - which you can see from about ¼ of the changelog being platform-specific fixes. This would probably make a good blogpost some day :)
Any plans for native WSL integration similar to VS Code?
We don't have any current plans to do built-in remote editing, especially not anything platform-specific. It's particularly difficult to get right - especially regarding security - and not one we'd likely ever use at Sublime HQ ourselves.
I'd love to know when we can move the sidebar to the right side :)
Add me to the list of folks who choose Sublime over VSCode as their main editor. It is much faster and less bogged down by the inherent bloat of VSCode. I find that I prefer CLI utilities over VSCode extensions anyway, so everything works out in the end.
Also Sublime-LSP is awesome.
I recently saw there was a new Clojure plugin for Sublime Text called Sublime Clojure by Tonsky: https://github.com/tonsky/sublime-clojure
In his documentation he mentions that he made the plugin in part because he did not want Paredit mandated by a plugin. I was curious to see what kind of structural editing he used instead, so I tuned into one of his streams. Turns out he just writes raw lisp in sublime text, and he's fast as hell at it too.
Since then I've been trying out using Sublime for Clojure development and falling back on Intellij when I need anything more than basic inline/REBL debugging, and I'm very happy with it so far.
everyone's mentioning the speed (as they should), but I also prefer sublimeText for the GUI (or lack thereof). After a decade of using it, the keyboard shortcuts are also hardwired into my soul.
I also started using sublime Merge recently and I think I may feel the same way about it
> After a decade of using it, the keyboard shortcuts are also hardwired into my soul
That used to be my reason for not using VSCode, but then I started using this: https://marketplace.visualstudio.com/items?itemName=ms-vscod...
I have a feeling that the recent move to OpenGL rendering for Sublime was a mistake. I know, we did with Firefox and WebRender as well. And yet, when compiling a heavy project on a modern machine, I can scroll fine in Firefox, but Sublime chugs, becoming unusable. For Sublime, it should be assumed that some code is compiling all the time!
That's exactly why I still use Sublime3 on my 10 year old, Win7 laptop. Sublime3 works like a charm. If I didn't mind a "slow" tool, I would use VScode instead.
OpenGL rendering is only enabled by default on macOS. Perhaps you don't have it enabled?
Interesting! I’ll try force-enabling it and report back. I don’t recall sublime-3 chugging as much, fwiw.
What did it use prior to opengl? Is there a blog o anything that talks about that move?
We still use Skia for software rendering, OpenGL is only enabled by default on macOS. I've written about the OpenGL implementation here: https://www.sublimetext.com/blog/articles/hardware-accelerat...
Skia
Was that in ST3 or a previous ST4 version?
I am quite sure ST3 and down was skia. What ST4 is Indo not know.
I still use Sublime for when I want to visually edit each line of large text files. I find the performance to be superior to alternatives, but it’s been a while since I’ve done a comparison.
Sublime is still the best by far if you need to edit a gigabyte large json file or something massive like that.
I tried sublime this year now that it has an LSP (language server), along with the Go plugin. Maybe it would take more getting used to, but VSCode has done such a great job for coding in. Sublime's project view just wasn't as good either.
I really still like sublime for editing text or log files on my dev system, but not for development.
I recently tried Sublime again. It feels much snappier and more responsive than VS Code. Very enjoyable to use.
I agree.
I know new engine is supposed to speed up rendering, but on my linux boxes, everything feels slightly slower than before.
Not a big deal for an IDE or IDE light, but for what I use sublime for (quick text editing), it's a disappointing change.
Note that OpenGL rendering isn't enabled by default. If you've enabled it and it's slower I'd love to find out why, otherwise without it enabled the rendering hasn't changed.
I love Sublime, but I've always felt like the whole "package" system is a bit of a mess. There's no consistent anywhere either, working with one build system is usually not the same as in the next one. I feel like VS Code does this part a lot better, which is why I use Sublime as a general text browser and VS Code where I do all my serious remote coding.
maybe out of nostalgia, I always have Sublime installed on my computer. nowadays if i need a draft for a copy/paste or need to annotate something fast I use Sublime, which is always running. it became something like my advanced notepad
My general-purpose text editor (and has been, since last century) is BBEdit, but Sublime is also excellent (It handles extra-large text files better, so I use it for them). I use BBEdit because of "muscle memory." TextMate was also a big one, but I never got into it.
VSCode is excellent, but I don't think that I do enough of the kind of coding that VSCode is optimized for, to make it worth it.
I use sublime 3 on my linux dev box all the time & even have paid for it. there is one extremely annoying bug that keeps me periodically switching to other editors out of frustration. It happens when you have multiple desktop panes/workspaces and you are working in say pane 1 but there is a sublime window open in pane 3. now when I say sublime open a file in pane 1 I am suddenly transported to pane 3 and and the file is opened there. this is super frustrating because I lose all my mental context and focus that I now have to reacquire. if anybody from sublime is reading this please fix this ASAP.
Interesting enough this big or feature is on Windows as well. For some reason Sublime always opens / switches to first desktop no matter what. Really drives me insane.
I live in command line most of the time, but Sublime Text is always my default editor to open any text files in a GUI file manager on any operating system.
When it notified me about the version 4 license change, I was ready to make the purchase. However, it has been a while since then and, besides the "LICENSE UPGRADE REQUIRED" text on the top right corner, I still can't notice any restriction. The current installation still has my license purchased for v2 applied. I just upgraded to build 4126 today and it worked fine. Am I misunderstanding the licensing terms or is this a bug?
There are no restrictions, and you're free to evaluate the software for however long you need.
You're expected to purchase a license if you continue to use the software.
They're just asking nicely instead of crippling their software after an arbitrary time limit.
Really Like Sublime Text for cross platform work (especially when I need to edit code under windows). Yet, really love Nova https://nova.app/ for mac, super polished.
Though for day to day, i switched to nvim and neovide (rust frontend). Given that, I guess I spent too much money on text editors ...
I used ST 2 and 3 for almost a decade. A couple of months ago I switched to VSCode.
Yes it's slower and clunkier but the extensions ecosystem is worth it. And also features like intellisense, unused vars, automatic updates of imports on file renames, and a long etc of QOL features ST doesn't have interest or capacity in implementing.
It's been years since I used sublime text, has anything changed that users have found noteworthy since ~2016?
I personally favor it because I find it abhorrent to load a bloated electron application to do... text editing, but I also wanted to have some of the niceties of a more modern editor. This is why I am giving it a try (and, so far, liking it).
I have a license because I have a thing for speed and feel of Sublime. There is nothing like it.
I write my Ruby and Elixir code with it, even if I know I get better experience with other tools.
I wrote my book Deployment from Scratch with Sublime as well.
I sometimes evaluate other editors but so far always returned :).
I wished sublime text worked well with the typescript ecosystem. For example automatically importing the right file when using a symbol.
Is there any kind of remote development support (ssh, docker) in Sublime? That’s the killer feature that keeps me on VS Code.
sublime has had ssh development for many years
Not really. There is an “unmaintained” paid plug-in (unmaintained in the sense of not being updated since a year and advertising compatibility with Sublime 2 and 3 only).
Someone who tried ST3 and sure, it feels a bit better than Notepad++. But it's not $100 worth of better
this build always freeze on startup for me (pop os 21.10, wayland)
build 4119 works fine though
I suggest submitting a bug report, under the menu: Help > Report a Bug
Even though I haven't met a Sublime user in a few years, it still must be popular since it's at v4. Last time I checked, Sublime was still proprietary, which is the reason I had skipped using it. I've heard Sublime has some useful features, though. If it's in their interest, I hope they decide liberate / open their source code.
E: misspelling
It's a paid product with a team who need to earn a living wage. It's not like VS Code where the team is bankrolled by a big organisation making its money on other proprietary products.
In light of the above, it makes sense for it to be proprietary and closed source.
Were it open source, people could fork it and distribute it freely, with no remuneration going back to the developers. I doubt the developers could offer any other incentive such as support to make up the shortfall.
"Source available" licences where the user is prohibited from providing the software to others doesn't meet the FSF's definition of freedom, so even that wouldn't please everyone.
As a software developer I prefer to pay for my text editor.
As one of the people supporting it’s continuing existence, I think there will be more focus on what I need. For open source projects, the focus will be (and should be) on what the people putting in the time and money need.
There’s considerable overhead (in terms of optimizing workflows) to switching editors too, so just because an editor is good for today doesn’t mean it will be good tomorrow. Not that proprietary editors can’t change in a way negative for me. I just figure it’s less likely and, over time, will happen less often.
Of course, I could have the perfect editor by doing my own, but it’s orders of magnitudes less effort to pay someone $x. (Personally, I think sublime should go to a subscription model. Pay per release encourages feature bloat, which I do not want in a text editor.)
I use Sublime as my primary editor.
It's just so much faster than every other GUI editor, even VSCode which is "tolerable". I can open multi-gigabyte XML files without bringing my computer to its knees. The extension ecosystem is pretty weak compared to VSCode but it does what I need. And something is just better about the way Sublime renders text. It's easier on the eyes. And the multi-line / multi-cursor editing flow is better.
I still pull out other editors if I need some advanced refactoring or debugging feature but if I can avoid it, I do.
As of writing there is no disclosure of any particular license on their website for sublime text.
I must have overlooked this. While most of my programming is over ssh with vim, I’ve very much enjoyed Sublime on my own systems. Minimalism and unobtrusiveness has been very appealing to me. Free software is more important, though, so perhaps it’s back to vim, then.
I wish that the Xi editor was maintained more efficiently than it is.
Are you aware of good IDE’s besides vim and emacs? What do you use? I love vim but sometimes I just want something “friendlier” for a change.
Honestly? Gedit, vscodium, geany are wonderful tools. Not bloated, just enough to hop into code.
A lot of people swear by jetbrains. I'm still a newb with it but I can see it being useful. But I learned to not hold my shift key too much (and disable defaults). Search everywhere is nice but difficult to use if you have motor difficulties.
Good, lightweight, OSS text editors for the main platforms:
- Linux: gedit, geany
- macOS: TextMate
- Windows: Notepad++
And the one to rule them all: emacs (also gvim).