Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Использование редактора VIM в Midnight Commander в сеансе root  (Прочитано 11007 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Domitory

  • Автор темы
  • Активист
  • *
  • Сообщений: 789
    • Просмотр профиля
Отключил в Midnight Commander использование встроенного редактора mcedit чтобы вместо него файлы на редактирование по нажатию на F4 открывались в vim который у меня настроен текстовым редактором по умолчанию. Сдела это и в сеансе пользователя и в сеансе root. Если открывать файлы под обычным пользователем то всё хорошо, а вот если открывать под root то выскакивает ошибка.

Error detected while processing /root/.vimrc:
line    5:
E319: Sorry, the command is not available in this version: menu Encoding.koi8-r :e ++enc=koi8-r<CR>
line    6:
E319: Sorry, the command is not available in this version: menu Encoding.windows-1251 :e ++enc=cp1251<CR>
line    7:
E319: Sorry, the command is not available in this version: menu Encoding.cp866 :e ++enc=cp866<CR>
line    8:
E319: Sorry, the command is not available in this version: menu Encoding.utf-8 :e ++enc=utf8 <CR>
line   13:
E319: Sorry, the command is not available in this version: menu spelllang.RU :set spell spelllang=ru<CR>
line   14:
E319: Sorry, the command is not available in this version: menu spelllang.ru :set spell spelllang=ru<CR>
Press ENTER or type command to continue

Почему то не подходит файл .vimrc как будто в mc вызывается другой vim.

Файл .selected_editor и у пользователя и у рута одинаковый

# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/usr/bin/vim.tiny"

Вывод команды sudo update-alternatives --config editor

Есть 5 вариантов для альтернативы editor (предоставляет /usr/bin/editor).

  Выбор   Путь            Приор Состояние
------------------------------------------------------------
  0            /bin/nano            40        автоматический режим
  1            /bin/ed             -100       ручной режим
  2            /bin/nano            40        ручной режим
  3            /usr/bin/mcedit      25        ручной режим
* 4            /usr/bin/vim.basic   30        ручной режим
  5            /usr/bin/vim.tiny    15        ручной режим

 

Если в сеансе root файл на редактирование открывать напрямую через vim то всё нормально.

Куда смотреть и как исправить?

Почему под обычным пользователем редактирование по нажатию F4 работает правильно а под root как будто другая версия vim?


« Последнее редактирование: 15 Октября 2025, 20:57:13 от Domitory »

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7974
  • Eternally
    • Просмотр профиля
Цитировать
/root/.vimrc
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн kmk

  • Активист
  • *
  • Сообщений: 700
    • Просмотр профиля
Редактор по-умолчанию можно установить двумя способами:

Первый:
для текущего пользователя
~$ select-editor

Select an editor.  To change later, run 'select-editor'.
  1. /usr/bin/vim.gtk3
  2. /bin/nano        <---- easiest
  3. /usr/bin/vim.basic
  4. /usr/bin/mcedit
  5. /usr/bin/vim.tiny

Choose 1-5 [2]:

для root'а
~$ sudo select-editor

Select an editor.  To change later, run 'select-editor'.
  1. /usr/bin/vim.gtk3
  2. /bin/nano        <---- easiest
  3. /usr/bin/vim.basic
  4. /usr/bin/mcedit
  5. /usr/bin/vim.tiny

Choose 1-5 [2]:

Результат вашего выбора появится здесь:
для текущего пользователя
~$ cat .selected_editor
# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/bin/nano"
для root'а
~$ sudo cat /root/.selected_editor
# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/bin/nano"

Второй способ:
тут только через sudo, т.к. нужны права для создания символьной ссылки (симлинка).
~$ sudo update-alternatives --config editor
Есть 5 вариантов для альтернативы editor (предоставляет /usr/bin/editor).

  Выбор   Путь            Приор Состояние
------------------------------------------------------------
* 0            /usr/bin/vim.gtk3    50        автоматический режим
  1            /bin/nano            40        ручной режим
  2            /usr/bin/mcedit      25        ручной режим
  3            /usr/bin/vim.basic   30        ручной режим
  4            /usr/bin/vim.gtk3    50        ручной режим
  5            /usr/bin/vim.tiny    15        ручной режим

Нажмите «enter», чтобы не менять текущий выбор[*], или введите нужное число:

У меня именно такая "каша", как указано выше. С помощью select-editor выбран редактор nano, а с помощью update-alternatives выбран vim.

В случаях когда идет обращение к /usr/bin/editor (это симлинк на /etc/alternatives/editor, который в свою очередь ссылается в моем случае на /usr/bin/vim.gtk3), открывается редактор, выбранный с помощью update-alternatives. В моем случае, это vim.

~$ ls -HalF /usr/bin/ | grep editor
lrwxrwxrwx  1 root root          24 янв 18  2023 editor -> /etc/alternatives/editor*
~$ ls -HalF /etc/alternatives/ | grep editor
lrwxrwxrwx   1 root root    17 окт 16 08:39 editor -> /usr/bin/vim.gtk3*

Во всех остальных случаях, редактор по-умолчанию берется из файла конфигурации .selected_editor. Например, при редактировании crontab:
~$ sudo crontab -e
у меня откроется nano.

Теперь, что касается Midnight Commander.

Меню MC (F9) - Настройки - Конфигурация - Прочие настройки - Снять галку "Встроенный редактор" - Нажать кнопку <Дальше>.
При редактировании у меня открывается nano. Т.е. редактор он берет из конфигурационного файла .selected_editor (/root/.selected_editor), который мы можем отредактировать с помощью команды select-editor (sudo select-editor). см.выше.

Если требуется прописать просмотр по F3 или редакторование по F4 определенного типа файлов с помощью определенной программы, то в новой 4-й версии, системный файл конфигурации /etc/mc/mc.ext.ini Однако, рекомендую скопировать его в пользовательский ~/.config/mc/mc.ext.ini и делать опыты на нем. Когда все настроите, тогда можно исправить системный файл конфигурации, удалив пользовательский.

Мой пример добавления консольной программы fbless для чтения электронных книг в формате FB2:

(Нажмите, чтобы показать/скрыть)

Очень рекомендую установить полный vim:
~$ sudo apt-get install vim vim-scripts vim-doc vim-latexsuite vim-gui-common
С обрезками типа tiny нормально работать практически нельзя.

У вас под рутом он ругается на файл /root/.vimrc. Возможно, вы туда вставили некорректные данные. Очистите его.

У меня, например, там добавлена конфигурация, чтобы работали команды vim в русской раскладке клавиатуры:
(всеравно работает не всё)

(Нажмите, чтобы показать/скрыть)

И у вас там тоже "каша", как и у меня. :) В .selected_editor vim.tiny, а в симлинк полученый с помощью update-alternatives идет на vim.basic.


Оффлайн Domitory

  • Автор темы
  • Активист
  • *
  • Сообщений: 789
    • Просмотр профиля
Спасибо KMK за полезную информацию!

Помогло редактирование файла /root/.selected_editor  на прямую, просто тупо указал там vim вместо предлагаемых вариантов командой select-editor и всё заработало как надо, теперь .vimrc работает как надо под рутом из MC, хотя у обычного пользователя указан в этом файле vim.basic и всё нормально.
потом под рутом вернул обратно vim.basic и всё продолжает работать правильно. 
« Последнее редактирование: 17 Октября 2025, 22:46:45 от Domitory »

 

Страница сгенерирована за 0.029 секунд. Запросов: 21.