28

Installed Debian Stretch (9.3). Installed Vim and removed Nano. Vim is selected as the default editor.

Every time I run crontab -e, I get these warnings:

root@franklin:~# crontab -e
no crontab for root - using an empty one
/usr/bin/sensible-editor: 25: /usr/bin/sensible-editor: /bin/nano: not found
/usr/bin/sensible-editor: 28: /usr/bin/sensible-editor: nano: not found
/usr/bin/sensible-editor: 31: /usr/bin/sensible-editor: nano-tiny: not found
No modification made

I've tried reconfiguring the sensible-utils package, but it gives no input (indicating success with whatever it's doing), but the warnings still appear.

root@franklin:~# dpkg-reconfigure sensible-utils
root@franklin:~# 

Although these warnings don't prevent me from doing anything, I find them quite annoying. How can I get rid of them?

Teekin
  • 737

3 Answers3

41

I found my own answer and so I'm posting it here, in case it helps someone else.

In the root user's home directory, /root, there was a file alled .selected_editor, which still retained this content:

# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/bin/nano"

The content suggests that the command select-editor is used to select a new editor, but at any rate, I removed the file (being in a bad mood and feeling the urge to obliterate something) and was then given the option of selecting the editor again when running crontab -e, at which point I selected vim.basic, and all was fine after that. The new content of the file reflects that selection now:

# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/usr/bin/vim.basic"
Teekin
  • 737
  • 2
    Interesting. Conventionally, the environment variable to control what visudo, git (when prompting for a commit message to be edited), mutt and other tools will use is just EDITOR (for barebones/baseline scenarios), or VISUAL (when curses is available). – Charles Duffy Dec 13 '17 at 17:12
  • 4
    @Christopher, alternatives is system-wide, ~/.selected-editor per-user. – ilkkachu Dec 13 '17 at 20:05
7

The generic Linux way to set the default editor is to set VISUAL shell variable to the desired editor. For example in .bashrc add line like this:

export VISUAL=/usr/bin/vi

This will set every time you login in to the system vi as visual editor

Romeo Ninov
  • 17,484
3

Another neat trick is to do update-alternatives and pick your preferred editor. This not only gives you the privilege to pick one but also let you see what editors are on your system:

update-alternatives --config editor

Result:

There are 3 choices for the alternative editor (providing /usr/bin/editor).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /bin/nano            40        auto mode
  1            /bin/nano            40        manual mode
  2            /usr/bin/vim.basic   30        manual mode
  3            /usr/bin/vim.tiny    10        manual mode

Press enter to keep the current choice[*], or type selection number: 

Then simply type the number of your preferred editor and hit the return key.