← Back to context

Comment by luke8086

5 hours ago

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.

  • Just FYI, they did try to improve that a bit. Release notes for nano v8.0:

    > Command-line option --modernbindings (-/) makes ^Q quit, ^X cut, ^C copy, ^V paste, ^Z undo, ^Y redo, ^O open a file, ^W write a file, ^R replace, ^G find again, ^D find again backwards, ^A set the mark, ^T jump to a line, ^P show the position, and ^E execute.

    > Above modern bindings are activated also when the name of nano's executable (or a symlink to it) starts with the letter "e".

    So if you symlink nano to /usr/bin/editor and make it the default $EDITOR, then you now do get CUA-like bindings by default.

    There’s still a lot of more things they perhaps should enable by default. I don’t know whether you’ve looked into .nanorc, but you can turn on stuff like syntax highlighting and line numbers, it’s just all off by default.

    I don’t actually use nano myself, but I was really taken aback by how featureful it is when you look closely. Not st the level of Vim or Emacs, but more than expected. I basically stumbled upon someone on Reddit /r/unixporn that "riced" their nanorc and it piqued my curiosity.

    For most people though, I think micro is a better fit than nano if you want a terminal CUA-style editor.

  • > I can't imagine a beginner really knowing what is going on in nano.

    When you launch nano without a file loaded, there's a notice at the bottom of the screen: [ Welcome to nano. For basic help, type Ctrl+G. ]

    Press 'Ctrl + G' and it takes you to a help page that says, among other things, "Shortcuts are written as follows: Control-key sequences are notated with a '^' and can be entered either by using the Ctrl key or pressing the Esc key twice. Meta-key sequences are notated with 'M-' and can be entered using either the Alt, Cmd, or Esc key, depending on your keyboard setup."

    You can't force a user to read docs or learn how the programs they're using work, but this is a reasonable attempt.

  • That's because no one knows their history anymore.

    Nano was a (bloated as usual) GNU clone of Pico. Its only reason for existing is GPL freedumb nonsense that was popular back in the day. It copied the UX of Pico.

    Pico was not developed as a standalone editor; rather it was the builtin editor for the Pine email reader. Hence the weird keybindings — it followed the UX of the email client.

    Pico stood for PIne COmposer.

    It became a simple universal editor because vi and emacs sucked and for some reason no one felt it necessary to invent something better.

    Users repurposed the editor from a mail client because it was already there. Nearly every university Sun box in the 90s had Pine installed for reading email.

    It was written by the same guy that invented IMAP at the University of Washington.

    Can't wait for the Rust clone of Nano then the cycle will be complete.

  • I use nano the same way I use notepad. I open a file, edit it, hit close, and agree to save when it complains to me.

  • First time I opened vi I had to power cycle the computer to get out of it. If nano/pico is not user friendly, vi is user user antagonistic.

Ok, we've removed beginner-friendliness from the title above. It's still interesting!