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?

3 Answers 3

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"
2
  • 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). Commented Dec 13, 2017 at 17:12
  • 4
    @Christopher, alternatives is system-wide, ~/.selected-editor per-user.
    – ilkkachu
    Commented Dec 13, 2017 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

4
  • 3
    This is Debian. It has the alternatives and the sensible- mechanisms as well.
    – JdeBP
    Commented Dec 13, 2017 at 15:57
  • 3
    @JdeBP, did I mention in the answer "generic"? Commented Dec 13, 2017 at 16:01
  • 1
    This is not generic. This is Debian, and the question is about changing an existing setting in sensible-editor specifically.
    – JdeBP
    Commented Dec 13, 2017 at 20:43
  • 3
    Another possibility is to set the EDITOR environment variable which is what I do.
    – Alex Vong
    Commented Dec 14, 2017 at 4:30
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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .