When a program in Ubuntu such as
crontab -e or dch -i, is used to edit a file, it uses a helper program called sensible-editor (provided by the debianutils package).sensible-editor attempts to intelligently find an editor on your system based on a few simple rules. Basically, if you haven't already defined $EDITOR, it will use one of {nano, nano-tiny, vi}, in that order.Now, it's well understood that
nano is easier to use than vi to a new Ubuntu user. And it's assumed that if you are sophisticated enough to want a different editor, then you likely already know how to change that setting.Traditionally, this can be done in one of two ways.
- You can edit your
~/.bashrcfile to export anEDITORvalue of your choosing. Of course, that requires that you have a usable editor with which you can modify that file!
- Or if you are an administrator of the system, you can set the default editor for the entire system:
- sudo update-alternatives --config editor
/usr/bin/select-editor, which uses update-alternatives --list to display a list of editors present on the system and prompt the user to select one. The selection is written to ~/.selected_editor. I also patched /usr/bin/sensible-editor to read and use this value, if present.The default selection remains
nano, but for those of us installing dozens of Ubuntu systems every week and looking for a more powerful editor, we now have a really convenient, friendly mechanism for each user on an Ubuntu system to interactively choose an editor preference the first time they need one!:-Dustin

