При этом sudo visudo
по умолчанию используется редактор nano
.
Я хочу изменить это на vi
или vim
.
Я уже сделал vim
редактор по умолчанию, и использовать его в качестве замены для gedit
на открытом PHP, .txt, .c и .h файлов, поместив vim.desktop
файл в ~/.local/share/applications/
и правильно редактирования либо ~/.local/share/applications/mimeapps.list
или /etc/gnome/defaults.list
. Однако, по-видимому, это не относится к nano
.
Любая подсказка?
vim
default-programs
nano
visudo
Cbhihe
источник
источник
man visudo
?sudo -E visudo
позже в ответ, ты пробовал это? -E заставляетsudo
не удалять все переменные env. Это делает , потому что убунт имеет линиюDefaults env_reset
в/etc/sudoers
update-alternatives
я тоже добавил?Ответы:
Проблема не в том, что это не относится к
nano
, а в том, что это не относится к оболочке:Просто установите
VISUAL
переменную среды:Добавьте это тоже ~ / .bashrc, чтобы сделать его постоянным.
Поскольку вы, похоже, используете vim в целом, установите оба параметра
VISUAL
иEDITOR
:или более POSIX-правильный
Я предполагаю,
nano
было значение одной или обеих переменных.Чтобы на самом деле использовать редактор в visudo, нам нужно обработать то, что
sudo
обычно не сохраняет переменные окружения. Опция-E
меняет это.Без
-E
здесь вы бы в конечном итоге по умолчаниюnano
сноваДве переменные, которые используются задолго до того, как файлы были названы
*.desktop
илиmime*
даже существуют.(И впечатляет то, что они фактически использовались в качестве общего стандарта.)
В Ubuntu системное значение по умолчанию установлено с помощью
sudo update-alternatives --config editor
. Показывает меню для изменения текущей ассоциации.Смотрите раздел
ENVIRONMENT
вman visudo
:источник
sudo
удаляет большинство переменных среды из среды для выполняемой команды.VISUAL=vim sudo visudo
(и варианты, которые вы предлагаете) не работает для меня и не следует ожидать, что будет работать.sudo VISUAL=vim visudo
работает, хотя. (Я только что попробовал оба снова, чтобы быть уверенным.) Кстати,VISUAL
иEDITOR
по умолчанию не установлены, не установленоnano
.VISUAL
иEDITOR
не являются механизмом, посредством которогоvisudo
выбираетсяnano
в конфигурации по умолчанию (за исключением тех случаев, когда он консультируется с ними, находит, что они не заданы или не заполнены, и движется дальше).sudo -E visudo
- что, безусловно, должно быть в ответе, верно.Default
) в вашем / etc / sudoers? Я думаю, что есть опция, которая запрещает это, но ее нет в моем файле по умолчанию.Как описано в этом ответе , добавьте
в файл sudoers .
Примечание: это будет работать, только если редактируемый файл содержит
Defaults editor=/path/to/editor
строку или содержит файл, который ее содержит.Например: по
visudo -f /etc/sudoers.d/my_sudoers_extension
умолчанию будет Nano.источник
Если вы никогда не планируете использовать nano, вы также можете просто удалить его. Тогда система будет использовать vi / vim по умолчанию.
Я знаю, что это не официальный ответ, но это одна из первых команд для меня после установки Ubuntu.
источник
emacs
иvim
активно сосуществовать в профиле любого пользователя. Тем не менее,nano
иvim
случиться вместе в дикой природе ... Держитеnano
!emacs
иvim
действительно счастливо сосуществуют и постоянно используются.nano
так же, как вредитель, чем раньше он будет удален из системы, тем лучше. Я понимаю, что некоторые люди могут находить это удобным, но этот ответ совершенно действителен.