top | item 44372380

Microsoft Edit

486 points| ethanpil | 8 months ago |github.com

322 comments

order

pxc|8 months ago

I used to recommend micro[1] to people like those in the target audience of this editor. I wonder if that should change or not.

--

1: https://micro-editor.github.io/

seabrookmx|8 months ago

IMO it should not.

`edit` doesn't even support syntax highlighting (atleast, out of the box when I tried it).

prmoustache|8 months ago

Last time I checked, micro should have been called macro based on the binary file size.

smartmic|8 months ago

There is also dte[1]. It hits exactly the same notch and offers an extremely lean editor with Unicode support, CUA key bindings and much more. It has replaced nano as my terminal editor.

[1]: https://craigbarnes.gitlab.io/dte/

EasyMark|8 months ago

Micro is a great editor to replace stuff like nano. I think it would be a bad replacement for edit though, edit is very barebones, and micro is very "upgradeable" through lua. It also handles large files quite well also

mattbee|8 months ago

And you can get it on Windows with just "winget install zyedidia.micro". Reminds me of 8 & 16-bit editors of a similar era.

pulkitsh1234|8 months ago

Geniunely curious, how projects like these get approved in an org at the scale of Microsoft? Is this like a side project by some devs or part of some product roadmap? How did they convince the leadership to spend time on this?

dark-star|8 months ago

As they explained, they needed a text editor that works in a command line (for Windows Core server installs), works across SSH (because for a while now Windows included an SSH Server so you can completely manage it through SSH), and can be used by non-vi-experienced Windows administrators (i.e. a modeless editor).

zamalek|8 months ago

A text editor is an obvious target for copilot integration.

sublimefire|8 months ago

Each group needs to do something and they come up with the ideas. Sometimes it is driven by various leaders, e.g. “use copilot”. Sometimes it is an idea from some hackerdayz event which gets expanded. Sometimes this is driven in research units where you have a bunch of technical people twiddling their thumbs. Sometimes this is an idea that goes through deep analysis and multiple semesters before it gets funding.

Look at the amount of contributors here. This project was probably some strategic investment. It did not come to existence overnight.

scoopr|8 months ago

The original edit.com, from around dos 6.22 (and later 7.0, ie. win95) was my first IDE. Well, I started with qbasic, so I was fairly familiar with it as it was similar (or same?), but when I started learning C/C++ with djgpp, I just continued using edit.com.

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.

JdeBP|8 months ago

You should raise that as an issue. If things like that get in early enough, they get heard.

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.

mysterydip|8 months ago

It may not have had syntax highlighting, but it did have syntax capitalization (for lack of a better term?). If you typed a line in all lowercase, after hitting enter it would automatically uppercase the reserved words. It wasn't much, but it helped

unsupp0rted|8 months ago

edit was a godsend after the `copy con` days

nhatcher|8 months ago

So many things I like about this!

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!

joshka|8 months ago

Literally no deps except for a few dev-deps that make testing easier. That's a reasonable thing for something that you ship as a fundamental tool to be used by administrators as part of an OS like windows. Take a look for lhecker's [1] responses for more info on the not invented here stuff.

[1]: https://news.ycombinator.com/threads?id=lhecker

masfoobar|8 months ago

About a month ago I heard Microsoft had their own Linux distribution to help Microsoft Windows users feel more at home. From memory, it was a rather simple GNOME setup. Nothing special.

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...

martinald|8 months ago

I strongly suspect in time Microsoft will move to Linux, at least with things like Windows Server and embedded Windows. Then a gradual change for Windows desktop, or a sort of Windows Legacy vs Windows "Linux Workstation" desktop options. Linux kernel + some sort of 'super' WINE and a fallback tightly integrated Windows classic on a VM for certain programs.

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.

LionEgo|8 months ago

The reason why WSL is a thing is because developers in corps needed a way to run Linux. IT support and techs doesn't know anything about Linux typically and don't want to deal with supporting it. WSL fixes this problem.

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.

repler|8 months ago

> I am surprised Micrsooft didnt use the opportunity to create a micrsoft specific Linux distro

The last one didn’t do so hot, they named it “Xenix”

subjectsigma|8 months ago

I would venture a guess that the name recognition helps them. No developer wants to install a distro they’ve never heard of, but they do want to install Ubuntu. If WSL supports Ubuntu then they can cash in on that.

Arnavion|8 months ago

>About a month ago I heard Microsoft had their own Linux distribution to help Microsoft Windows users feel more at home. From memory, it was a rather simple GNOME setup. Nothing special.

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.

dfedbeef|8 months ago

You think Microsoft maintains an entire secret distro just for Windows people to feel 'at home'.

delfinom|8 months ago

>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.

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.

jksmith|8 months ago

This is just a "because I wanted to" project. And I get that; done a lot of those myself just to understand what the hell was going on. But the rewrite of turbo vision into FPC and compiling to half a dozen targets has been around for 20 years. Turbo vision is probably the best text mode windowing library in existence. The cool fun kicks in when you can map a whole text screen to an array like so: var Screen: Array[1..80,1..25] Of Byte Absolute $B800; // or something like that as i recall

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.

nathell|8 months ago

array[1..25, 1..80] of Word absolute $B800:0000.

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.

throwaway127482|8 months ago

I am curious about how you made money with it, if you don't mind sharing.

electroly|8 months ago

Every time I see a new modern TUI framework, my disappointment is the same: "Oh. This isn't as good as Turbo Vision."

macjohnmcc|8 months ago

I'd love for an interface like that on VSCode that runs in a terminal even remotely.

red_admiral|8 months ago

Now I'm waiting for EDLIN but with unicode.

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.

gnubison|8 months ago

I think ed is what you’re looking for (possibly with -s).

anyfoo|8 months ago

Fun. I must admit I don't really know who this is for, but it seems fun.

tim--|8 months ago

It's for people that want to use the Windows Terminal to edit files. The old `edit` command has been unsupported on Windows since 2006, so there was no Microsoft-provided editor that could be used in the command line since then.

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]

DrJokepu|8 months ago

It’s right there in the readme actually:

> The goal is to provide an accessible editor that even users largely unfamiliar with terminals can easily use.

kgwxd|8 months ago

It's a huge improvement over notepad

iknowstuff|8 months ago

I’ll gladly replace vim with it, especially if it has/gets LSP support or searching via ripgrep. I’m using Helix now but like a good tui.

z3ratul163071|8 months ago

this is for me, as saner replacement for nano in the terminal, since i hate vi.

pcunite|8 months ago

Back in 1993, I would open up binary files in edit and enjoy seeing hearts.

samplatt|8 months ago

That, the DOS defrag visualisation, and the hex-editing my own savegames is pretty much why I'm a developer today.

Aldipower|8 months ago

I appreciate the sense of humor coming from this project. F.ex. from the release note: "As Steve Ballmer famously said: Fixes! Fixes! Fixes!".

Refreshing to see employees can have fun in a multi billion dollar company.

majkinetor|8 months ago

I thought this might work with Enter-PSSession but it unfortunatelly produced Error 0x80070006: The handle is invalid.

Insane that we don't have TUI in remote session in 2025.

DSMan195276|8 months ago

Agree 100%, that's the biggest difference I feel whenever I'm doing remote Powershell vs. ssh, it always feels like a struggle just to make basic file modifications.

kasajian|8 months ago

I'm just waiting for this thing to turn into an IDE like Turbo C 2.0 ( https://imgur.com/5vyPZdO ) I don't see why this shouldn't turn into a sophisticated code editor. I get that that's not the goal, but there's nothing else like it available -- all other text based editors do their own thing, completely ignoring the common-user interface as if it's a thing they've never heard of ( https://en.wikipedia.org/wiki/IBM_Common_User_Access )

fsniper|8 months ago

Microsoft loves to own general terminology like "edit" for their products. I have no idea how this flys.

SqlServer like it's the one that found sql or it's the only product that serves sql.

red_admiral|8 months ago

The copy command is called "copy" which kind of makes sense? I remember once seeing a colleagues .bashrc with things like "alias copy=cp". Flags won't work the same way of course.

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.

not_a_bot_4sho|8 months ago

I know what you mean but everyone does 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.

delfinom|8 months ago

>I have no idea how this flys.

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.

athom|8 months ago

The one I love is Microsoft's project manager, MS...

...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.

xyst|8 months ago

It will take more than nostalgia and rust to tear me away from my neovim setup that has been built up/improved on over the years. Lsp, dap, autocompletion, aliases and bindings for each programming languages. Lazily loaded of course so it’s still snappy.

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.

watusername|8 months ago

You are not the target audience. This is aimed at casual users and beginners, and it's already in a good shape to replace nano with its user-friendly, mouse-enabled TUI.

legends2k|8 months ago

Huge +1, same for me, but with GNU Emacs instead of neovim but can completely appreciate the philosophy.

0x0|8 months ago

I was hoping this would work over ssh in a macOS Terminal.app, but last I tried it was inserting all kinds of weird characters into the edited text files.

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...

mixmastamyk|8 months ago

Maybe using ucs2 encoding, instead of utf8?

andrewstuart|8 months ago

I love edit.

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.

90s_dev|8 months ago

I don't understand why they want to go with DLLs for scripting instead of WASM + wamr which is really small. Maybe I'm just really inexperienced in this space.

ubermonkey|8 months ago

I do not understand the love this project is getting. It was a shit editor when it was introduced; we'd all started using something else years before.

riffic|8 months ago

agreed. it's nostalgic sure but it's not a good editor.

dbuxton|8 months ago

I came here assuming that this was a clone of Gemini CLI (which is a clone of Claude Code). Both pleased and disappointed to be wrong.

csense|8 months ago

Fun project #1: Get the binary size comparable to EDIT.COM

Fun project #2: Port to MS-DOS (with DPMI)

Fun project #3: Port to 16-bit MS-DOS (runs on original 8086)

tempire|8 months ago

fake. it's not blue.

mixmastamyk|8 months ago

Believe you could change the background color in DOS edit.

kspacewalk2|8 months ago

How long until it becomes Copilot 365 Edit?

bluedino|8 months ago

> This editor pays homage to the classic MS-DOS Editor

Oddly, it looks more like Borland's editor.

kevin_thibedeau|8 months ago

TurboVision had horizontal scrollbars. Edit never did.

parliament32|8 months ago

The lengths people will go just to not have to learn Vim continues to surprise me.

guerrilla|8 months ago

Maybe this makes up for them destroying Notepad for some people.

gadders|8 months ago

Do Edlin next.

Reminds me of my days on a support line.

"Type edit autoexec.bat....." etc

trinix912|8 months ago

And DEBUG. It's sad we no longer have a debugger/(dis)assembler/binary editor bundled with Windows. That thing was tiny but you could do so much with it.

oliverkwebb|8 months ago

It's nice to see an editor that explicitly isn't an IDE and is more something like notepad. often when editing config files and the such, it's more convenient to use something like notepad than it is to use something like VSCode.

This editor doesn't have delusions of grandeur, it focuses on usability more than features. and it is better for it.

ashoeafoot|8 months ago

If you are a idea guy and want your idea real , all you have to make is a fency fake trailer anouncing it, then watch the company create it, the suits are this empty anyone external can powersteer those ghostships.

Fokamul|8 months ago

Nano is completely ok for this. Nope, let's burn some cash and reinvent the wheel.

Instead of donating to Nano devs, or hire some of them or something.

Stupid corp at their finest.

masfuerte|8 months ago

Nano is a bare-bones editor with its own wacky key-bindings. What is the point? If I want to learn new key-bindings I'll learn a full-featured editor.

msedit's key-bindings are based on IBM CUA. It's immediately familiar to a great many people.

DrNosferatu|8 months ago

Any Flatpak or Snap editions?

umeshunni|8 months ago

Can this be ported to MacOS?

watusername|8 months ago

It already works? There just isn't an official build yet - just `cargo run` yourself.

stuaxo|8 months ago

Its pretty easy to build there, I've tried this on MacOS and Linux.

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.

ioma8|8 months ago

It works on MacOs since it was published some two weeks ago. I have been using it since then.

jll29|8 months ago

219232 bytes binary if compiled for Apple silicon (ARM).

LAC-Tech|8 months ago

Needs LSP and Tree-Sitter :)

oliverkwebb|8 months ago

If the editor focused on becoming an IDE instead of being idiot-proof and cleanly designed, what would distinguish it from the 1,000 other editor projects?

1vuio0pswjnm7|8 months ago

No musl binary. For glibc Linux distributions only perhaps.

rahen|8 months ago

Just build it yourself. Or you can install glibc on both Void and Alpine, if you want the pre-built binary.

amelius|8 months ago

Was hoping for MS-DOS editor with built-in LLM.

kgwxd|8 months ago

Runs on Windows too! It has "Redo", not to be confused with "Undo Undo". Unfixed-width Tabs are a huge leap forward. LF, sans CR, will cut your file sizes in half.

nhinck3|8 months ago

Another Microsoft nerd-washing project.

imbnwa|8 months ago

'nerd-washing' such a great term

herbst|8 months ago

Did anyone ask for yet another a Microsoft editor on your Linux machine?

wasimanitoba|8 months ago

Meanwhile, they forced AI Copilot bloat into Notepad, whose singular use-case was supposed to be that it does one thing well without unnecessary features.

pjmlp|8 months ago

Unfortunately, the new Edit isn't safe from such decisions.

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.

GardenLetter27|8 months ago

It sucks so much - my ISP had an intermittent outage (some IPv4 / MTU issues), and I couldn't save files in Notepad without disabling it.

I was literally trying to configure Wireguard to get around the ISP issues.

0cf8612b2e1e|8 months ago

I took a screenshot and pasted it into the new Win11 Paint. Even minimized, Paint was constantly using 5% CPU and sitting at ~250MB of RAM. I guess I can begrudgingly get over the RAM, but squandering the CPU like that is ridiculous.

What happened to pride or quality control or anything?

saturn5k|8 months ago

I stopped using Notepad since they introduced tabs.

OptionOfT|8 months ago

And if you uninstall the modern notepad, start's search doesn't find the old one.

masfoobar|8 months ago

Thank you for this!

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.

bgro|8 months ago

Every product has bizarre bloat. I understand things might get heavier over time with new features, but Office from like 20 years ago still works pretty great. In fact, I don’t even really see any new features that are missing in my normal use case. Actually, anything that DOES exist in a newer version is something I actively DO NOT want. For example, monthly/yearly subscriptions, popups that interrupt typing to advertise some new bloat, and dedicated buttons to import any file into a powerpoint presentation or email.

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.

486sx33|8 months ago

Why should “ms-edit” be avoided ?

jedisct1|8 months ago

Probably entirely AI-generated.

ocdtrekkie|8 months ago

It'd be nice if they didn't recommend winget for installation though. winget is an egregious security risk that Microsoft has just like pretended follows even minimal security practices, despite just launching four years ago with no protection from bad actors whatsoever and then never implementing any improvements since.

easton|8 months ago

disclaimer: I used to commit to winget a lot and now I don’t.

…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.

dale_huevo|8 months ago

winget is just Windows developers' version of curl | bash. Yet another example of Microsoft copying Linux features.