Certainly more accessible for casual users than vi.
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.)
Nano definitely seems like a good choice if they're looking at it from the perspective of a less experienced user who just needs to modify a few lines in a config file. As you said, anyone who needs a more advanced editor probably knows how to get vim installed and set as default.
As a long time Fedora user I agree that this is a good basic choice that gives beginners something intuitive and won't get in the way of anybody else who knows enough to have a preference. I can cope in vi(m) but I always install nano on a fresh Fedora install.
Here's hoping some Microsoft big-wig read this and remembers they don't have a default terminal editor at all since edit died.
I don't mind powershell, but having a self-proclaimed management platform with no out-of-the-box text editor is just silly.
And no, notepad doesn't count.
When did this happen? I used vim over a powershell remoting throughout 2013-14 (to edit SQL scripts on a remote server without using rdp). Was this capability killed in recent powershell versions?
I don't know then. I might be wrong and might have been using vim in a local session but over a UNC path (and did other stuff with remoting, that didn't need an editor). It's been a while :)
I actually would really love good old Edit to be reviewed - it had a really intuitive and cozy TUI - just modernize it a little bit (i.e. add UTF-8 and modern programming/mark-up languages syntax awareness) and it could be so sweet...
I am a strange beast when it comes to editor wars. I am indeed an Emacs user since roughly 25 years.
However, being a sysadmin teaches you to be comfortable with vi since it is just not practical to install Emacs on every machine you have root access on.
So I am actually happy to fire up vim to edit a config file.
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?
There's quite a few more examples of that. Like "their/they're", "your/you're" "its/it's"... I can barely speak english but I would never make these errors; how can you confuse a pronoun with a verb?
You don't really, my theory is sometimes the auditory part takes over mid-sentence, whereas when I'm in my usual visual mode the errors stand out immediately.
But how are we to weed out the weak and the inadequate from the ecosystem if not by having them struggle through 1970s UI conventions to accomplish basic text editing operations ?
"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.
In my personal experience, if you want to spend the time learning it, vi/vim is faster than nano. But for the VAST majority of people it is simply not desirable/worth learning vi/vim.
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)
vi being the default is not elitism or sadism; it is two decisions coming to confluence:
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.
This argument seems fairly unconvincing. If your chosen optimisation is size, you probably don't care so much about being 100% POSIX-compliant, which means you can leave out even more stuff and save room. At which point, EDITOR might as well be 'ed' !
I'm having a hard time understanding what you mean.
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.
Amusingly, both nano and mg (micro Emacs clone) executables are smaller than nvi, which is probably the version of vi you'll end up with if you're optimizing for size and not going full busybox. vim-tiny is like 5x bigger again, because you're getting the full vim executable.
The point is that you're including it already for POSIX compliance.
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_.
Sure. But if you're building a system down to a size, you're probably not that concerned about POSIX compliance, because mere POSIX compliance isn't enough beyond the most rudimentary of software. And if you're running something statically linked with minimal dependencies, it almost certainly requires a lot less than all things POSIX, so you can cut even further.
My point was on size, not POSIX compliance. I just found the actual sizes amusing.
The “anti-elitism” of never wanting to use anything that isn’t obvious is problematic too. There exist plenty of things which have steep learning curves which are very useful, they wouldn’t be better if their target becomes people who won’t spend five minutes learning basics.
Complexity shaming isn’t something to be proud of.
Many users first encounter with vi is through the process of learning to edit various system files. They are already on a path with a somewhat steep learning curve, and are suddenly facing a completely unrelated one with no guidance on how to proceed.
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.
> The fact that this change happened today and not 10 years ago just highlights the strange elitism you see for hard to use interfaces.
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.
vi and emacs are strange pieces of software which were built in a different era for different (more knowledgeable) people.
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.
> "Even if you give the littlest of effort to learn its inner powers, it pays dividends in a rather handsome way."
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.
I personally find modern Linux and git easier to grasp and discover compared to vi/vim/emacs.
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.
The reason vim is accepted despite being unintuitive is because you spend all your time in it. There are always tradeoffs between intuitive UIs and UIs that are efficient and ergonomic when they’re fully understood. Vim leans more toward the latter with the expectation that you’ll learn most of the features after years of using it.
The advantage of vi/vim is that it works when connected through a system via a serial port or (possibly) telnet. Nano requires more control over the terminal, via SSH for instance.
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...
Incidentally does anyone know what Linus Torvalds uses as his default text editor when hacking the kernel (despite him saying he almost never codes in recent years)?
Nano is user friendly? It runs in a terminal. What is a user doing in a terminal, if they can't cope with learning how to use vim?
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)
>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
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.
I don’t understand why you think VTE= user unfriendly. The only thing you really can’t do in a VTE app is display rows of icons but I don’t think most people besides app developers and executives actually like those. For another example of a fairly intuitive mouse based GUI in a terminal you can look at elinks.
Another thing you can't do in a terminal is tap on icons, drag and drop them, long-press them and all those things that users today are well, used to doing on their phones, which is how the vast majority first learn how to use a thing with a screen that does things.
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.
One might argue that if you want to make an OS easy to use (let's say as a desktop operating system for non-technical people) just the fact that the user has to open a terminal might be a problem.
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?
> just the fact that the user has to open a terminal might be a problem.
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.
> I mean why stop there, the fact that someone has to lift a finger might be a problem.
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.
>One might argue that if you want to make an OS easy to use (let's say as a desktop operating system for non-technical people) just the fact that the user has to open a terminal might be 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 remember time when most distributions included mc (with its text editor mcedit) by default.
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).
95 comments
[ 4.4 ms ] story [ 212 ms ] threadvi 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.
To access the remote machine via ssh and then use sudo to root access the files:
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.
_Finally, a command line shell for the 90s _
(seriously for the best. Vi(m) as the default editor makes linux less friendly for new users)
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)
Or at least he used to.
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.
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).