== Summary ==
Let's make Fedora more approachable, by having a default editor that
doesn't require specialist knowledge to use.
== Owner ==
* Name: [[User:chrismurphy| Chris Murphy]]
* Email: chrismurphy(a)fedoraproject.org
== Detailed Description ==
Users are exposed to the default editor when they use commands that
call it. The main example here is something like <code>git
Fedora does not currently have a default terminal text editor, because
the $EDITOR environment variable is unset by default. But a common
scenario where users wind up in a terminal text editor is when using
'git commit'. 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
In contrast, Nano offers the kind of graphical text editing experience
that people are used to, and therefore doesn't require specialist
knowledge to use. It is already installed across most Fedora Editions
and Spins. This proposal will make Nano the default editor, while
continuing to install <code>vim-minimal</code> (which provides vi, but
not Vim). People will still be able to call <code>vi</code> if they
want to edit a file. It will also obviously be possible to change the
default editor to vi or Vim, for those who want it.
Why make Nano default and vi optional, rather than the other way
round? Because Nano is the option that everyone can use.
== Feedback ==
== Benefit to Fedora ==
* Makes the default editor across all of Fedora more approachable.
* Nano is also mostly self-documenting, by displaying common keyboard
* More in line with the default editor of other distributions.
== Scope ==
* Proposal owners:
** Modify comps to include nano Fedora wide.
** Create a new subpackage of <code>nano</code>, called
** <code>nano-editor</code> to include
<code>/usr/lib/environment.d/10-nano.conf</code>, which sets
<code>$EDITOR</code> to <code>nano</code>.
With this approach, if <code>nano</code> is uninstalled, the
configuration will be removed with it. At the same time, installing
nano on its own won't install the conf.
* Other developers: N/A
* Release engineering: [https://pagure.io/releng/issue/9522
* Policies and guidelines: N/A
* Trademark approval: N/A
== Upgrade/compatibility impact ==
Will not apply to upgrades.
== How To Test ==
Run <code>export EDITOR="/usr/bin/nano"</code>.
== User Experience ==
Users running <code>git commit</code> will be able to just type their
commit message, rather than having to learn about insert mode, and
they'll be able to cut and paste without having to learn special
== Dependencies ==
No additional dependencies are required.
== Contingency Plan ==
The contingency plan is to revert the change by removing the
* Contingency deadline: probably the beta? It's an easy change to revert.
* Blocks release? If the change breaks the redirection to an editor,
it should block the release. However, this is unlikely.
* Blocks product? Potentially all.
== Documentation ==
As part of this change, it would be good to add instructions for
changing the default editor to the
He / Him / His
Senior Program Manager, Fedora & CentOS Stream