To promote this to a top-level comment, because I think it's important context: nothing in the README file says the point is to be "beginner-friendly". As far as I can tell, that's something that Hacker News or whoever submitted this used as a description. Neither the word "beginner" nor the word "friendly" appear in the README; its goal is to "be the smallest functional Emacs in less than 2000 lines of C."
I think somebody incorrectly described Atto as comparable to nano/pico, and these comments are dragging it because it's not something that it was never intended as.
> To ease the transition for new users, #NetBSD -current now includes an alternative editor to vi(1) and xedit(1) in its base system, atto(1). https://man.netbsd.org/atto.1
> It is a modeless screen-based editor similar to nano, pico, xedit, or emacs. It is only 48 kilobytes, making it suitable for inclusion in the rescue system.
I think it's fair to call it beginner-friendly, in context of BSD and vi, but maybe indeed it shouldn't be a part of the title.
I can't imagine a beginner really knowing what is going on in nano.
Every time I get launched into nano/pico on a new system I find it very confusing. To use the help menu you need to know that ^-X means Ctrl-X and M-X means Alt-X. Why "Write Out" and not "Save"? And when I "Write Out" I'm offered DOS format or Mac format, and options to Append or Prepend (not even sure what that does).
It's completely bizarre if you're used to something like Notepad or Word.
I would never drag pico. I wrote software that's been packaged in Linux distros in pico. And I lost the urge to be The Smartest Guy In The [Room/Mailing List/Forum] a long, long time ago.
Well nano pico atto ... the name makes it comparable. Why would you expect people to not draw that connection?
I think the main take-away is that vi/vim is too complicated for many folks. I use nano a lot on the commandline. For quick editing it is so much more convenient than vim.
I've used mg and find it generally useful. It's my default editor pretty much everywhere.
However, the code is a mess, with deliberately cryptic identifiers (e.g., `w_doto` for `cursorOffset`), redundant functions (e.g., `vtputc()` is a strict subset of the behavior of `vtpute()`) and a bunch of other weird choices (e.g., deeply-baked assumptions that one byte == one char == one column, even thought Big5 and ShiftJIS were already a thing when it was written).
I tried adding UTF-8 support to mg a couple years ago and basically gave up.
I always thought the essential feature of an emacs was its extensibility. I never felt that emacs was just a collection of keybinds and split buffer windows.
Note, I'm not talking about Lisp per se, just some kind of mechanic within the editor to allow the user to make extensions to it.
You can ask Claude to cross-complie, prepare an image (aka install) and run an emulator. I tried exactly this yesterday and in about an hour I could attach to tmux and run tests on emulated riscv64 board.
Who knew a little emacs-like editor would be so controversial.
I think it looks great. Syntax highlighting, multi-buffer, splits, standard emacs commands... For new users in the emacs camp, this seems like a nice editor to include in the base install. Even as a vi user, I'd be pretty happy being stuck with this in a rescue system.
nano(1) is GPLv3 last time I checked and that imposes more restrictions than most (all?) of the rest of the code in NetBSD. It is not about being "reflexive", it is a violation of the very ethos of the project. Gnu rejecting non-free licenses from their own distributions is not "reflexive", it is simply not in line with what they want to achieve and one should respect that.
To be beginner friendly they should call it text editor. Or notepad, or quickwriter. No beginner is going to guess that something called Atto lets you write words on a computer.
>making it suitable for inclusion in the rescue system
People seem to be missing the point. Also NetBSD has what I call a "real single user mode". Last time I had to boot single user, ed(1) was the only editor available without some work. My guess is this new editor will be useful for people who do not want to deal with ed(1).
I have not seen it yet, but I guess it will be included in 11.1.
The beginner-friendly label seems to be obscuring what atto actually is, which is a very small Emacs-like editor meant to live in the base system. At roughly 48 KB and under 2,000 lines of C, it fits places nano and the larger alternatives do not, especially a rescue environment or single-user mode where you still need something more usable than ed or a stripped-down vi. That constraint also explains the choices people are arguing about here: Emacs bindings come with the design, and a permissively licensed C program can be maintained with the tools NetBSD already ships, unlike a Go editor such as micro. For someone new to NetBSD but already comfortable at a Unix terminal, that is a reasonable trade. It is less a first editor for a general beginner than a safety net that happens to be approachable once you are already in that world.
> Perhaps all that needs to be known to use atto at a basic level is that holding the control key, pressing x, then pressing w will write the currently open file, and holding the control key, pressing x, then pressing c will exit the editor.
Very beginner friendly lol. These people have no idea.
Micro is a beginner-friendly console text editor. This isn't.
Nothing in the README file says the point is to be "beginner-friendly"; as far as I can tell, that's something that Hacker News or whoever submitted this used as a description. Neither the word "beginner" nor the word "friendly" appear in the README; its goal is to "be the smallest fuctional Emacs in less than 2000 lines of C."
tl;dr: I think somebody incorrectly described Atto as comparable to nano/pico, and these comments are dragging it because it's not the thing that it was never meant to be.
Why are they using weird key combinations instead of traditional Ctrl + S, Ctrl + A, Ctrl + C used in desktop applications? Why every console program wants to be a special snowflake and not use standard key combinations, please explain. I do not care that 40 years ago someone used Ctrl + C to send SIGINT, it is 2026 now.
For many, it is indeed about what they call "muscle memory". Almost impossible to change after so many years. And therefore I hope everyone would provide keybinding alternatives generally (shouldn't be that hard).
These key combinations have been used for 50 years, so I'm not sure why you call them non-standard. They're just a different standard from what you're used to.
To promote this to a top-level comment, because I think it's important context: nothing in the README file says the point is to be "beginner-friendly". As far as I can tell, that's something that Hacker News or whoever submitted this used as a description. Neither the word "beginner" nor the word "friendly" appear in the README; its goal is to "be the smallest functional Emacs in less than 2000 lines of C."
I think somebody incorrectly described Atto as comparable to nano/pico, and these comments are dragging it because it's not something that it was never intended as.
OP here, I just paraphrased the announcement:
> To ease the transition for new users, #NetBSD -current now includes an alternative editor to vi(1) and xedit(1) in its base system, atto(1). https://man.netbsd.org/atto.1
> It is a modeless screen-based editor similar to nano, pico, xedit, or emacs. It is only 48 kilobytes, making it suitable for inclusion in the rescue system.
I think it's fair to call it beginner-friendly, in context of BSD and vi, but maybe indeed it shouldn't be a part of the title.
I can't imagine a beginner really knowing what is going on in nano.
Every time I get launched into nano/pico on a new system I find it very confusing. To use the help menu you need to know that ^-X means Ctrl-X and M-X means Alt-X. Why "Write Out" and not "Save"? And when I "Write Out" I'm offered DOS format or Mac format, and options to Append or Prepend (not even sure what that does).
It's completely bizarre if you're used to something like Notepad or Word.
3 replies →
Ok, we've removed beginner-friendliness from the title above. It's still interesting!
I would never drag pico. I wrote software that's been packaged in Linux distros in pico. And I lost the urge to be The Smartest Guy In The [Room/Mailing List/Forum] a long, long time ago.
what's really the point in being the smartest person in the room? you'll never learn anything!
7 replies →
From the announcement
> To ease the transition for new users...
So I would consider it for beginners ("new users") and friendly ("to ease").
Well nano pico atto ... the name makes it comparable. Why would you expect people to not draw that connection?
I think the main take-away is that vi/vim is too complicated for many folks. I use nano a lot on the commandline. For quick editing it is so much more convenient than vim.
OpenBSD also has an Emacs-y non-extensible editor, mg(1):
https://man.openbsd.org/mg
Just noting for completeness, as I didn’t catch any mention of it.
I've used mg and find it generally useful. It's my default editor pretty much everywhere.
However, the code is a mess, with deliberately cryptic identifiers (e.g., `w_doto` for `cursorOffset`), redundant functions (e.g., `vtputc()` is a strict subset of the behavior of `vtpute()`) and a bunch of other weird choices (e.g., deeply-baked assumptions that one byte == one char == one column, even thought Big5 and ShiftJIS were already a thing when it was written).
I tried adding UTF-8 support to mg a couple years ago and basically gave up.
I'll probably be an atto convert.
Also available for most linux distros as a package.
> https://man.netbsd.org/atto.1
> atto is not the standard editor.
Hah. That is clearly a reference to https://www.gnu.org/fun/jokes/ed-msg.en.html
NetBSD isn't the first to use the name. My pet text editor is also called atto: https://git.levitati.ng/Levitating/atto
Also used by Moodle, the open source LMS: https://docs.moodle.org/400/en/Atto_editor
And before you was: https://github.com/makuke1234/atto, which notes its name originating from A Truly Tiny text editOr.
I always thought the essential feature of an emacs was its extensibility. I never felt that emacs was just a collection of keybinds and split buffer windows.
Note, I'm not talking about Lisp per se, just some kind of mechanic within the editor to allow the user to make extensions to it.
NetBSD has beginners?
Currently seeing an influx of interest from new people who want an OS with strong anti-ai stances.
And those who still use 32-bit machines, as Linux is in the process of killing support for them.
2 replies →
Beginners to NetBSD who are not vi users.
That's not an empty set? I'm an eMacs guy, and I use vi when on the shell
1 reply →
You can ask Claude to cross-complie, prepare an image (aka install) and run an emulator. I tried exactly this yesterday and in about an hour I could attach to tmux and run tests on emulated riscv64 board.
Careful, they might ban you!
Who knew a little emacs-like editor would be so controversial.
I think it looks great. Syntax highlighting, multi-buffer, splits, standard emacs commands... For new users in the emacs camp, this seems like a nice editor to include in the base install. Even as a vi user, I'd be pretty happy being stuck with this in a rescue system.
The source code and README are here: https://github.com/NetBSD/src/tree/trunk/usr.bin/atto
You are welcome!
The dev calls it "Atto Emacs"
https://github.com/hughbarney/atto
Why not just add nano?
Because the BSD's are reflexively anti GNU.
nano(1) is GPLv3 last time I checked and that imposes more restrictions than most (all?) of the rest of the code in NetBSD. It is not about being "reflexive", it is a violation of the very ethos of the project. Gnu rejecting non-free licenses from their own distributions is not "reflexive", it is simply not in line with what they want to achieve and one should respect that.
4 replies →
Size:
Linux:
per the link, atto(1) is 48 kilobytes.
Genuine question: Are there a lot of "beginners" hopping on NetBSD?
I feel like most people who even know about NetBSD would be technical enough to at least function at a basic level in something like vi or nano.
Is this the same editor that is used in the open-source Moodle LMS?
https://docs.moodle.org/400/en/Atto_editor https://github.com/moodlehq/moodle-editor_atto
Moodle's is a PHP-written web editor. Submitted is a C-written terminal editor.
For me the most easy-to-use editor for cli / ssh and relatively lightweight is https://github.com/sinelaw/fresh everybody can just use it intuitively.
I’ll take a look at this. But it’s worth noting that NetBSDs goal was to have something small enough that it can be used in a recovery shell.
I think they'd have your head on a plate if you suggested a vibe coded text editor.
There is nothing intuitive about any text editor.
Badly editorialized title.
To be beginner friendly they should call it text editor. Or notepad, or quickwriter. No beginner is going to guess that something called Atto lets you write words on a computer.
>making it suitable for inclusion in the rescue system
People seem to be missing the point. Also NetBSD has what I call a "real single user mode". Last time I had to boot single user, ed(1) was the only editor available without some work. My guess is this new editor will be useful for people who do not want to deal with ed(1).
I have not seen it yet, but I guess it will be included in 11.1.
I think single user has nvi as well.
Edit: apparently it requires /usr to be mounted though
The beginner-friendly label seems to be obscuring what atto actually is, which is a very small Emacs-like editor meant to live in the base system. At roughly 48 KB and under 2,000 lines of C, it fits places nano and the larger alternatives do not, especially a rescue environment or single-user mode where you still need something more usable than ed or a stripped-down vi. That constraint also explains the choices people are arguing about here: Emacs bindings come with the design, and a permissively licensed C program can be maintained with the tools NetBSD already ships, unlike a Go editor such as micro. For someone new to NetBSD but already comfortable at a Unix terminal, that is a reasonable trade. It is less a first editor for a general beginner than a safety net that happens to be approachable once you are already in that world.
[dead]
> Perhaps all that needs to be known to use atto at a basic level is that holding the control key, pressing x, then pressing w will write the currently open file, and holding the control key, pressing x, then pressing c will exit the editor.
Very beginner friendly lol. These people have no idea.
Micro is a beginner-friendly console text editor. This isn't.
I don’t think NetBSD and yourself are using the term in the same context.
By this I mean, a beginner to NetBSD is already a far more competent user than a beginner in many other contexts of OS users.
Nothing in the README file says the point is to be "beginner-friendly"; as far as I can tell, that's something that Hacker News or whoever submitted this used as a description. Neither the word "beginner" nor the word "friendly" appear in the README; its goal is to "be the smallest fuctional Emacs in less than 2000 lines of C."
tl;dr: I think somebody incorrectly described Atto as comparable to nano/pico, and these comments are dragging it because it's not the thing that it was never meant to be.
Micro is MIT licensed, so it should be shippable in NetBSD base.
https://github.com/micro-editor/MICRO
But written in Go, and I would expect the NetBSD base only includes software buildable using tools already in the base system.
3 replies →
It's using keystrokes inspired by emacs. Ok.
As we all know, beginners love Emacs keystrokes.
Project headline is “The smallest functional Emacs in less than 2000 lines of C.”
How someone jumped to beginner-friendly from that is the real question.
Why are they using weird key combinations instead of traditional Ctrl + S, Ctrl + A, Ctrl + C used in desktop applications? Why every console program wants to be a special snowflake and not use standard key combinations, please explain. I do not care that 40 years ago someone used Ctrl + C to send SIGINT, it is 2026 now.
Atto's default key bindings match Emacs, which is about as standard as you get for non-modal editing keys in older Unix traditions.
> match Emacs
For many, it is indeed about what they call "muscle memory". Almost impossible to change after so many years. And therefore I hope everyone would provide keybinding alternatives generally (shouldn't be that hard).
I would assert Wordstar style are equally as old.
2 replies →
and isn't at all beginner friendly
Emacs is probably older than me why should we care about what they used in 80s?
5 replies →
I think you're underestimating just how "standard" many of the shortcuts are when mapped against a standard shell.
"Standard shell" also should allow Ctrl + C for copying, it makes no sense to use a different combination for console.
3 replies →
You might enjoy the new Microsoft Edit [1].
[1] https://github.com/microsoft/edit
How is Ctrl+S "more traditional" than C-x C-s? C-x C-s is like 50 years old by now. Surely that qualifies as "traditional".
These are about as standard as you can get when it comes to Unix keybindings
These key combinations have been used for 50 years, so I'm not sure why you call them non-standard. They're just a different standard from what you're used to.
That sounds like Emacs. Wouldn't know though, given that I dislike vim too.
I would prefer ms-edit or nano if I have to edit text files from the terminal.
Because this isn't beginner friendly it's a new micro Emacs and those are standard libreadline/emacs bindings.
> I do not care that 40 years ago someone used Ctrl + C to send SIGINT, it is 2026 now.
Not "40 years ago". Non-stop all day every day for 55 years.
The fact that you personally don't use it today is as irrelevant as if you were ranting about "why doesn't Linux have a Start menu!? It's 2026!!!"