1. By the author - https://news.ycombinator.com/item?id=44034961 2. Ubuntu Publication - https://news.ycombinator.com/item?id=44306892
And this post.
--
`edit` doesn't even support syntax highlighting (atleast, out of the box when I tried it).
The trick is doing it while keeping the binary size small, so tree sitter is not an option.
Nano also links against ncurses, which is about as big as the compressed tarball for micro. I'm looking at the dependency closures of each right now in nix-tree[1], and micro's closure's total size is 15.04 MiB while nano's is 12.78 MiB-- not really "orders of magnitude" (as a sibling commenter suggests) when you look at it like that.
Admittedly, nano's dependencies (`file` and `ncurses`, on my system) are likely to ship as part of the "base system" of any Linux distro anyway; the real size it adds to any distro is negligible. But there's no indication to me that micro is meaningfully "bloated", as the meme goes; it seems like what is required to run it is reasonable and comparable to other tools that serve the same purpose.
--
1: See: https://github.com/utdemir/nix-tree ; Try `nix run nixpkgs#nix-tree -- $(nix build --no-link --json nixpkgs#nano | jq -r .[0].outputs.out)`
Look at the amount of contributors here. This project was probably some strategic investment. It did not come to existence overnight.
My "project file" was `e.bat` with `edit file1.cpp file2.cpp file3.cpp`, as it was one of the few editors that I knew that had a decent multi file support with easy switching (alt-1,2,3 ..). I still continue remapping editor keybindings to switch to files with alt/cmd-1,2,3,.. and try to have my "active set" as few of the first files in the editor
It wasn't a great code editor, as it didn't have syntax highlighting, and the indent behaviour wasn't super great (which is why in my early career had my indent was two spaces, as that was easy enough to do by hand, and wasn't too much like tab). But I felt very immediate with the code anyway.
I knew that many others used editors like `qedit`, but somehow they never clicked with me. The unixy editors didn't feel right in dos either.
Quickly trying this, it doesn't seem to switch buffers with the same keybindings, even if it does seem to support multiple buffers.
And it wasn't just similar. It was literally the same. EDIT.COM simply started QBASIC up with a special flag. One could just run QBASIC with the flag. As I said at https://news.ycombinator.com/item?id=44037509 , I actually did, just for kicks.
First of all, an empty list of dependencies! I am sold! It works great. I can't believe the did a whole TUI just for this, with a dialogs a file browser. I want to use for a project of mine, I wonder how easy it is. If someone involve in the project is here, why not use Ratatui?
Code quality is top notch, can only say one thing:
Bravo!
I am surprised Micrsooft didnt use the opportunity to create a micrsoft specific Linux distro that replaces bash with powershell, or Edit with vim, nano and other choices as well as .NET and Visual Studio Code by developer installs.
Micrsoft could have used this as their default WSL install.
It may not have won the war against typical distro like Ubuntu or Debian but it could have gained a percentage and be a common choice for Windows users - and there are a lot of Windows users!
Microsoft cannot dominate the Linux kernel but it can gain control in userland. Imagine if they gained traction with their applications being installed by default in popular distributions.
This Microsoft Edit is available for Linux, like Powershell is and others. If they had played their cards right -- perhaps -- 10 years ago, their distribution could have been in the top 5 today, all because many windows users use it as their WSL.
Giant companies (like M$) can inject their fingerprints into my personal space. Now, we just need Micrsooft Edit to have Co-Pilot on by default...
Only problem is that the NT kernel in many ways is much better than the Linux kernel design wise (for example, the NT kernel can handle a total GPU driver crash and restore itself, which I think Linux would really struggle with - same with a lot of other drivers).
But Windows is increasingly a liability not an asset for Microsoft, especially in the server space. Their main revenue stream is Azure & Office 365 which is growing at double digits still, with Windows license growth flat.
At a minimum I'd expect a Linux based version of Windows Server and some sort of Workstation version of Windows, based on Linux.
You may not understand how important Microsoft considers backwards compatibility. Switching to a Linux kernel would eliminate all of that, and that is simply not an option for Microsoft.
The Linux kernel is missing a lot of esoteric things that the NT kernel has and that people use a lot, as well.
Windows as we use the word today (any variant) will not ever switch to a Linux kernel.
I do hope one day that Microsoft put a proper GUI on Linux though, no X, no Wayland, but something smarter and better than those. Probably also not likely to happen but I’d love to see it if they could do it well.
Most developers don't want to use Linux at all. Many developers don't even really know how to user a terminal and rely on GUI tools.
First of all, I disagree with this comment.
However, lets assume you are right.. that the average "Windows Developer" has little to zero skills in GNU/Linux.
If that is the case, it proves my point EVEN MORE that Micrsofot missed out creating a Microsoft Linux Distro... designed to have Powershell, Visual Studio Code, Edit, and potentially Edge, SQL Server, etc.
It would still be Linux but keeping to what they know in Windows -- and would have given Microsoft more power in the linux world.
Fortunately, Linux users can also avail themselves of a graphical interface as well.
The last one didn’t do so hot, they named it “Xenix”
You're confusing Microsoft's first-party Linux distro Azure Linux (nee CBL-Mariner) that is intended as a regular MS-supported OS for containers, VMs, servers, etc, with various Windows-like skins for Linux DEs that people have made for years.
Sorry I dont understand the point you are making.
I did not suggest they had a "secret distro" I am suggesting they could have claimed a share of dominance in the Linux Distro as the default WSL distro.
Yes, but how do they make money by doing this.
Unlike the socialist hiveminds that end up being behind the distros. Microsoft has salaries and bills to pay.
As far as I've always seen, everyone loves to leech on Microsoft's free stuff but nobody wants to pay for a product.
Besdies, for new PC/Laptops come bundled with Windows, Microsoft has made an agreement made with various retailers to come with Windows (Home edition) preinstalled. So in some ways, Windows is free for the User unless they pay for Professional edition, or whatever is offered today.
Of course, the average user will create a microsoft account to complete the install. :-)
Besides the Windows OS -- it is really the Services they provide.. Azure, Office365, SQL Server, PowerBI, etc. I would say THIS is where a lot of the money comes from... business willing to pay for them!
I work for Companies that are willing to PAY for these things - all for "Support"
If something goes wrong.. raise it with Microsoft. Even if I know what the problem is, it is all about the ticketing system. Throw it to Microsoft and carry on.
Despite the above, Microsoft also have "Free" software. They have started to Open Source many of their software.. allowing Linux support as well as Windows. Visual Studio Code, SQL Server, Powershell, etc.
It comes back to my point. When they presented WSL - they could have provided a "MS Linux" Distro, all promoted as "ease for Windows users" and if it became a popular distro, would have pushed micrsoft to have more control in userland... which would have alienated most Windows users away from Ubuntu, etc.
Like Windows, it is a method to keeping your userbase to rely on what they know overall.
What turbo vision brought to the game was movable, (non) modal windows. Basically a lot of rewriting that array in a loop. Pretty snappy. I made a shitload of money with that library.
It's not. They needed a small TUI editor that was bundled with Windows and worked over ssh.
Arrays in TP were laid out in row-major order, and each character was represented by two bytes, one denoting the character itself and the other the attributes (foreground/background color and blinking). So, even better, array[1..25, 1..80] of packed record ch: char; attr: byte end absolute $B800:0000.
Replace $B800 with $B000 for monochrome text display (mode 7), e.g., on the Hercules.
So good.
[0]: https://charm.sh/
I remember you could use it in a batch file to script some kinds of editing by piping the keypresses in from stdin. Sort of a replacement for a subset of sed or awk.
I haven't tried but this should be possible with vi too. Whether that is deeply cursed is another question.
It's impressive to see how fast this editor is. https://github.com/microsoft/edit/pull/408
> By writing SIMD routines specific to newline seeking, we can bump that up [to 125GB/s]
Who's editing files big enough to benefit from 120GBps throughput in any meaningful way on the regular using an interactive editor rather than just pushing it through a script/tool/throwing it into ETL depending on the size and nature of the data?
> The goal is to provide an accessible editor that even users largely unfamiliar with terminals can easily use.
Refreshing to see employees can have fun in a multi billion dollar company.
Insane that we don't have TUI in remote session in 2025.
SqlServer like it's the one that found sql or it's the only product that serves sql.
Sure "chcp" is a mouthful, but "del" or "erase" makes as much sense as learning that "rm" is short for remove. You pick up either convention quickly enough, except that I'm constantly using "where" when I meant "which". Maybe I should make an alias or something.
Don't get me started on powershell's look-we-can-use-proper-words-lets-see-how-long-we-can-make-this.
Apple has Pages, Numbers, Keynote, etc. Google has Drive, Docs, Sheets, etc. Meta has Messenger. Far too many examples to list.
Conversely, it would be ridiculous to use non-obvious names.
They aren't trademarking it and probably can't.
But there's no reason they anyone can't use generic naming for their products. Many software applications do and quite frankly its more descriptive to attracting new users than coming up with non-real names.
I would aruge the only reason made up names exist is to keep marketing departments employed trying to explain to users what they are needlessly.
...wait for it...
...Project.
Was charged with managing a department-wide installation about fifteen years back, now. You want to have fun looking for relevant docs, try a search on "Microsoft Project". Good times!
I think the one exception to Microsoft's generic naming convention is Excel. Visio probably qualifies, too, but they bought that from someone else.
Oh, and I guess PowerPoint, too.
Manage configuration, and external dependencies such as lsps with nix.
Then have separate nix shells for each project to load tooling and other dependencies in an isolated/repeatable session. Add in direnv to make it more seamless development experience.
...
Anyways, here's how to tell if your LED sign is cheap!
It blipped on my radar recently when I did a sidequest into LuaJIT.
Also, just made a PR to add Nix flake support to Edit:
Windows ships an official OpenSSH server these days, but so far there haven't been any good official text editors that work over OpenSSH, as far as I know.
I've had to resort to "copy con output.txt" the few times I needed to put things into a text file over windows-opensshd...
It was my favorite editor back in the old days.
It worked, did the basics really well and got the job done. Glad to see it’s back.
Fun project #2: Port to MS-DOS (with DPMI)
Fun project #3: Port to 16-bit MS-DOS (runs on original 8086)
Oddly, it looks more like Borland's editor.
The screen shot says differently.
Reminds me of my days on a support line.
"Type edit autoexec.bat....." etc
This editor doesn't have delusions of grandeur, it focuses on usability more than features. and it is better for it.
Instead of donating to Nano devs, or hire some of them or something.
Stupid corp at their finest.
msedit's key-bindings are based on IBM CUA. It's immediately familiar to a great many people.
But I’m glad someone wrote one of these in rust.
Which is pretty neat.
I just wish this was on nixpkgs
https://github.com/microsoft/edit/pull/534
Note that another editor called Micro is very similar:
The one thing that vexed me for something based on edit, was CTRL+P being hijacked for something that isn't print, is like we forgot about about CUA over the last 15 years.
While Satya might have made the change Microsoft <3 FOSS, the Gates/Balmer era was much better towards Windows developers.
Now we have a schizophrenia of Web and Desktop frameworks, and themselves hardly use them, what used to be a comfortable VS wizard, or plugin, now is e.g. a CLI tool that dumps an Excel file, showing that newer blood has hardly any Windows development culture, or their upper management.
As you may have guessed, this simply pushes out smaller devs. This used to NOT be like this. It should NOT be like this.
A requirement for the tool is that it must remain as small as possible, so that it can be included in the smallest distributions of Windows, like Nano Server. It is the rescue text editor there.
I’m sure plugins are going to do all the things that everyone doesn’t want (or does want) but the default edit.exe will remain small, I’d bet money on it.
I was literally trying to configure Wireguard to get around the ISP issues.
What happened to pride or quality control or anything?
Sounds like some dangerous cowboy coding wrongthink you've got going on over there.
We are talking about Microsoft here.
I had to open Notepad and see it for myself. Wow! I see the Icon.
I remember Co-pilot just suddenly appearing in my taskbar and finding it annoying. Despite removing it, I still see it lurking around... and now I see it is a SIMPLE TEXT EDITING PROGRAM named Notepad.
Wow.
Look at Outlook. Literally less than 25% of the screen appears to be dedicated to email content. I say literally because I physically measured it and from what I remember it was 18% to 20%. Microsoft keeps adding these gigantic toolbars that each have duplicate buttons that often can’t really be adjusted, removed, or hidden. Or it may be an all-or-nothing scenario where something can be removed but then you can’t e.g. send emails.
Rather than fixing the problem, the solution is to add a new toolbar. This frequently keeps happening. Just one more toolbar with a select subset of buttons in one place so people can find it. Well now… We have some extra whitespace… Let’s throw in the weather there and why not put the news in too. What could possibly go wrong?
And then loading the news, some totally unrelated and non-critical feature they shove in forcefully by default frequently has at least one critical severe bug where there’s an async fetch process that spikes the cpu to max and crashes the whole system. There’s no way to disable news without first loading outlook and going into advanced settings, which of course is past the critical point of the news being loaded.
Go look at like Outlook 2003. It is nearly perfect. It’s clean, simple, and there’s no distractions. This is so amazing, like many Microsoft products that seem to be built by engineers, but I don’t know how we get to modern outlook that feels like it has 10 to 50 separate project manager teams bloating it up often with duplicate functionality.
This would be bad enough, but then again instead of fixing it like I said before or fixing it by reducing or consolidating teams or product work, we get ANOTHER layer of Microsoft bloat by having multiple versions of the same product. So we have Outlook (legacy) named that way to make you feel bad for using an old version, or named to scare you into believing it won’t be supported. Then there’s Outlook (New). Then there’s Outlook (Classic) which isn’t legacy or new but is a weird mix of things. Then there’s a web version that they try to force everybody into because it’s literally perfect and there’s no reason not to use it… Somehow they didn’t catch that emails don’t load in folders unless you click into them, or sorting rules don’t work the same or don’t support all the same conditions. Rather than fixing it, you get attacked for using edge case frivilous advanced obscure functionality. Like who would want to have emails pre-sorted into any folder except inbox? Shame on you for using email wrong I guess.
I’ll skip over the part where there’s multiple versions of the multiple forks of outlook. But there’s also Government, Education, Student, Trial, Free, Standard, Pro, Business, Business pro, Business premium, etc.
The last infuriating point in my rant has to come down to their naming standards. For some reason they keep renaming something old to a completely new name and of all the names they could pick, it’s not only something that already exists but it’s another Microsoft product. This is a nightmare trying to explain to somebody who is only familiar or aware of either the old or the new name and this confusion is often mixed even on a technically capable and competent team. For bonus points, the name has to be something generic. Even like “Windows” which is not a great example because the operating system is so popular but you can imagine similarly named things causing search confusion. Or even imagine trying to search for the GUI box thing that displays files in a folder within the operating system, also called a window, and try to imagine debugging an obscure technical problem about that while getting relevant information.
There’s so many Microsoft moments that things like adding AI to notepad hardly phase me anymore. I don’t like that they do that but I wouldn’t necessarily be so offended if their own description they came up with in the first place was what you mentioned. Constantly going against their own information they invented themselves and chose to state as a core statement just irritates me.
The user interface is littered with useless crap, the File menu goes back to this weird completely new different UI layout etc etc.
And the best part is that if the VPN goes temporarily down it fails to send/receive new emails until it has been restarted.
Let me say that again.
It fails at its core functionality if there's a glitch in the network and cannot send or receive emails. That's just a next level of incompetence.
Microsoft has seemingly sucked at naming things since at least the mid-90s. It's effectively un-search-engine-able, but I recall that in the anti-trust action in the mid-90s a Microsoft person was trying to answer questions about "Internet Explorer" versus "Explorer" (as-in "Windows Explorer", as in the shell UI) and it was a confusing jumble. Their answers kept coming back to calling things "an explorer". It made very little sense. Years later, and after much exposure to Microsoft products, it occurred to me that "explorer" was an early 90s Microsoft-ism for "thing that lets you browse thru collections of stuff" (much like "wizards" being step-by-step guided processes to operate a program).
Also, playing-back my "greatest hits" comment re: Microsoft product naming: https://news.ycombinator.com/item?id=40419292
…but is it really less secure than brew or choco? The installers are coming from reasonably trusted sources and are scanned for malware by MS, a community contributor has to approve the manifest changes, and the manifests themselves can’t contain arbitrary code outside of the linked executable. Feels about as good as you can get without requiring the ISVs themselves to maintain repos.
There are ISVs that would like to lock down their software so they can maintain it but a trillion dollar company couldn't spare a dollar to figure out a "business process" to do this. As far as I know, Microsoft has a single employee involved who has laughed off any security concerns with "well the automated malware scanner would find it".
The "community contributors" were just... people active on GitHub when they launched it. Was anyone vetted in any way? No.
The Microsoft Store has actual app reviewers, winget has... "eh, lgtm".
There is no validation when you winget whether or not the executable is from the official source or that a third party contributor didn't tamper with how it's maintained.
irm <URL> | iex