Fedora Approves of Making Nano the Default Terminal Text Editor
phoronix.com
phoronix.com
https://fedoraproject.org/wiki/Changes/UseNanoByDefault
"By default, git picks vi. You need to spend time learning how to use it, for even basic editing tasks. This increases the barrier to entry for those who are switching to Fedora and don't know how to use vi. It also makes things hard for those who don't particularly want to learn how to use vi. (These arguments would apply just as well if git picked Vim. vi is like hard mode for Vim, with fewer features, missing syntax highlighting, and no indication of what mode you are in. Even Vim users may feel lost and bewildered when using vi.)"
Honestly I didn't know that vi and vi were different.
I've used Linux for years.
I just learnt how to enter insert mode and write and quit.
These are the most uninutive applications I've ever used.
It's like people people reminiscing about how good the word 2003 interface was. But on another level.
Where you have to read the manual to change a letter in a file.
The fact that this change happened today and not 10 years ago just highlights the strange elitism you see for hard to use interfaces.
Just learning the basics makes it usable but you will NOT see any benefits of vim over, let's say, nano.
(Also vi should almost never be the default over vim)
1) POSIX requires vi. Merely the act of requiring it means that it’s a sunk cost on every OS installation.
2) vim is large(r).
If you’re optimising for small installation sizes in order for the user to be able to choose their own adventure (as it were) then vi being the default makes sense from a pragmatic point of view.
They can’t remove vi without breaking POSIX, so I welcome the change, there’s a lot of developers I know who are fearful of the Linux command line because of things like vi.
If the goal is 'minimal viable distro that is posix compliant' then vi becomes a very 'safe' default.
I wouldn't say that Fedora aims to be 'as small as possible', just a 'minimum viable distro', and optimising for size is something that is the most obvious stated aim of having a 'Minimal' version of anything.
For much the same reason Teams is eating slacks lunch: if the 'cost' is included for other reasons then it's a safe default because it wont cost _more_.
My point was on size, not POSIX compliance. I just found the actual sizes amusing.
If you write a POSIX compliant shell script then that expresses its portability.
You can argue merits or demerits of POSIX as a system, but there needs to be some common base regardless, otherwise it's the wild west.
Complexity shaming isn’t something to be proud of.
Steep learning curves are fine, but people should be able to choose whether they would benefit from them and when they should start the process.
But it's a utility to edit the sudoers file with validation that prevents you from saving a broken file.
If the file is broken, you cannot use sudo.
visudo on the latest Ubuntu defaults to nano.
I was going to say using a card punch, but that's actually easier than ed. Even a manual one is better.
Even for someone that has used Emacs for decades, having vi as the default for Git is, at the very least, an annoyance. I don't think it's elitism. It's just a decision that was a good idea in the 1970s that was never updated.
Nano is a nice little editor with its own quirks and I love all of them.
However, vi is something beyond powerful. Even if you give the littlest of effort to learn its inner powers, it pays dividends in a rather handsome way.
I know very little vi but, even with it I can save tremendous amount of work which can be also done with grep, sed, awk and its friends. Open a file, write something seemingly gibberish and magic happens.
... and that makes me happy and saves me a lot of time.
Everybody can say vi and emacs are hard and unnecessarily complex for a beginner (and I can buy them countless rounds of beers) but, calling people who defend/like vi as elitist is a little harsh.
Which sort of mirrors the learning curve for Linux, and Git. Which makes the decision poetically significant, if not particularly meaningful from a rational learning standpoint.
Help prompts, user interfaces and capabilities of GUI tools have increased tremendously over the last decade in the Linux realm.
However, vi (because of its nature) stayed almost the same.
Even in 2020, I need to dig a lot of resources and keep my own notes to do anything complex in vi(m). This is not the same for rest of a Linux installation.
What if all the other distros follow suit and default to editors that new users can figure out how to exit without restarting their machine? What will howtoexitvi.com do then?
This is going to kill that poor site and nobody even cares. Back in my day...
If you want to save changes: :w (write) :wq (write quit) :wq! (Override any read-only perms)
vi users probably know how to configure their bash to change it back and will reduce the occurrences of "This text file is nice, but how do I get out of here?"
Nano is much less powerful, but still a really good tool. If the decision doesn't end in a dogmatic religious war, I would be disappointed though.
Kidding, joe got spoon fed to me with Slackware. But I actually like VIM. Would be nice if it could detect if it was in a dark of light terminal though (yes, some people use light terminal, I see them occasionally.)
Having said that, I'm known for sometimes installing emacs and assorted debugging tools in containers and servers when I need to look into something.
It doesn't work in powershell remoting session just like anything else CLI based.
icm -Computer remote -Script { ls | less} #blocks
icm -Computer remote -Script { ls } | less #works(seriously for the best. Vi(m) as the default editor makes linux less friendly for new users)
that being said... It's no big deal. If both nano and vi/vim come pre-installed, I guess it's going to be an easy setting to change (I guess there's going to be a EDITOR=nano somewhere in /etc/profile or similar to change).
on a personal note: the thing I dislike about "user friendly" things (for example: gnome3) is that they tend to hide actual useful features from users in the name of "simplicity".
I couldn't believe it when I installed a fresh ubuntu 18.04 desktop with two displays and couldn't switch virtual desktop on the primary display "because gnome says it's better". Like, wtf ?
Yeah yeah you can install an external app to enable that (gnome-tweaks iirc) but are we serious?
I mean why stop there, the fact that someone has to lift a finger might be a problem. Why do we even require people to be able to comprehend language? Heck, why do we design things that are not usable by your average garden rock? This is just blatantly anti-user.
Alexa, Siri and similar are literally meant to remove that effort, if you think about it.
The usual OS that many gnu/linux distros compare to is usually Mac OS. As a user, you can configure most of the things that you would like to configure without opening a terminal, ever.
Heck, when I was given a macbook from work and had to quickly share some music files with some relatives, I was able to set up the equivalent of a samba share 100% via gui, and it worked.
Yeah if your target is the average user, non-technical (think of the average grandmother/grandfather) to very-little-technical (office worker that uses the computer but only as a tool to do their job), the fact that opening a terminal is necessary is a problem.
For all the talk of how easy Linux has become, the biggest tell of what OS-X achieved is that most Mac users don't even know there is a terminal
I've got used to that editor (it's actually pretty advanced, it has macros, syntax highlighting, word-completion, and you can run shell scripts/oneliners on selected text to replace it with the result).
Then most distributions removed mcedit and now I have to use vi (which I hate) or nano (which is too simplistic for anything other than changing one value in a config file) or install additional packages (which is often impossible on a remote server).
_Finally, a command line shell for the 90s _
The wiki page where this is discussed has a bit of feedback about how it's an unnecessary barrier to entry to have to explain how to set EDITOR in .bashrc before even starting on the basics of terminal use. Who is teaching total beginners how to use the terminal on linux? Marquis de Sade?
I remember when I first started using Linux, having only used Notepad and possibly Notepad++ on windows, until then, I immediately looked for a text editor like the ones I was used to ... and found gedit. I think this was on Fedora btw (some ancient stuff like 12 or earlier). OK, so I had used EDIT before and I wouldn't be totally scared off by having to edit config files or write bash scripts on a CLI editor, but is that kind of thing really newbie friendly?
I mean to say- maybe this is a step in the right direction, maybe it's a step totally still in the wrong direction. You want to make things "friendly" for your users and make them feel cozy and warm in your OS? Keep them away from the command line.
(Speaking as someone who is in love with TUIs and command lines, of course)
For most terminal editing, you can start the process with "nano textfile". Your default editor only gets checked when another program calls up the editor, something you may not be aware the other program is going to do.
After, though you may remember having learned how to set your default editor, recalling the correct location and syntax isn't always easy.
That's why I think that using a terminal is user unfriendly: because most users are completely unfamiliar with them and many are even actively scared by them and don't want to have anything to do with them. I bet if you asked around many people would say they don't like Linux because "you have to use the console".
Like I say, I love command lines- but most people, even many developers, absolutely hate them and feel much more comfortable in GUIs. My observation anyway. I don't know if you think different.
Or at least he used to.
To access the remote machine via ssh and then use sudo to root access the files:
/ssh:user@localhost|sudo:localhost:/path/to/file
This is using the multi-hop solution as explained here:https://www.gnu.org/software/emacs/manual/html_node/tramp/Ad...
https://emacs.stackexchange.com/questions/17725/how-to-sudo-...
Just a thought.
To me it was pure serendipity. Nano on the other hand wouldn't have led me anywhere.
Apparently that is worthy of downvoting to some.
How on earth do you make this mistake when you literally typed "would have" in the same sentence!
"Would've" if you really want to contract it like in speech (same number of keystrokes; grammatically correct).
Just a thought. :-D
I'm not a native english speaker and this error is extremely surprising to me. While I can read english correctly, if I find this error my language parser just panics and it destroys the whole sentence, like if it was missing a comma between "would" and "of" and the rest of the sentence is grammatically incorrect. For example: "He would, of all things, prefer to do X than Y".
How on earth so many people make this error on writing? Don't they even sound different? The "h" in "have" is completely silent?
Sounds like "would of"
edit: just seen you're not a native speaker, which is quite interesting, as I normally only see natives making this error.
I've read more in English than any other language by far, probably heard more too, which is where I think this kind of error comes from.