Emacs: как сделать его редактором в полночь-командире?

Мой вопрос о Midnight-commander. Я отключил использование внутреннего редактора (в Options → Configuration) и ввел .bashrc:

export EDITOR='emacsclient -n'

все еще - нажатие F4 ничего не дает, нажатие F3 - открывается в vi. Есть ли способ сделать emacsclient текстовым редактором по умолчанию в mc?

Ответ 1

Я нашел способ: можно использовать функцию макроса mc. Для этого создайте файл:

e   Open in emacsclient
    emacsclient -n %s

и сохраните его как ~/.mc/menu или ~/.mc.menu. После этого при нажатии F2 - вы получите список своих функций. И будет функция Open in emacs - которая будет доступна для e. Таким образом, две клавиши F2-e откройте текущий файл (или все выбранные файлы) в emacsclient -n.

Ответ 2

Удалите ~/.selected_editor, затем, когда вы нажмете F4 в следующий раз, MC предложит выбрать редактор. Или вы можете напрямую изменить его.

$ cat .selected_editor
# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/usr/bin/vim.basic" 

Это работает на Ubuntu. Я пробовал другие способы настройки редактора по умолчанию, который не поможет.

Ответ 3

Что я делаю, это изменить файл ~/.mc/bindings:

### Default ###

# Default target for anything not described above
default/*
    Open=%var{EDITOR:emacs} %f &
    View=

Таким образом, я все еще могу просматривать файлы с F3, но F4 или enter обычно редактируют их с помощью Emacs.

Кстати, амперсанд так что файл появится в X, и я могу продолжить в mc. Возможно, вам придется удалить это, если вы работаете только с командной строкой.

ОБНОВЛЕНИЕ: Если у вас нет файла ~/.mc/bindings, изнутри mc, нажмите F9 ce (Меню, Команды, Изменить файл расширения), и он должен получить вас там.

Кроме того, вам нужно отключить внутреннюю настройку редактирования, выбрав F9 oct (меню, параметры, конфигурация, внутреннее редактирование), снимите флажок, а затем сохраните параметры.

Ответ 4

Вот еще одно решение: отредактируйте файл расширения и добавить запись редактирования.
(Извините, недостаточно репутации, чтобы добавить это в комментарий пользователя Gustav Bertram.)

Обязательно используйте встроенные функции MidnightCommander, поскольку местоположение конфигурационных файлов, похоже, меняется между некоторыми версиями MC.

Итак, нажмите F9 или ESC,9 (чтобы открыть меню), затем перейдите к Command -> Edit Extension File.
В редакторе найдите последний блок, который выглядит следующим образом:

# Default target for anything not described above
default /*
            Open=
            View=

Измените его на что-то подобное (обратите внимание на добавленную Edit -line!!!):

# Default target for anything not described above
default/*
        Open= %var{EDITOR:emacs} %f &
        View=
        Edit= %var{EDITOR:emacs} %f &

После сохранения файла обязательно включите внутренний редактор off!
(F9 или ESC,9, Options -> Configuration, "Use internal edit" должны быть отмечены)

Таким образом (работая хотя бы с более поздними версиями MC) у вас может быть три разных редактора (или параметры командной строки), чтобы открыть файл: "View" (F3), "Edit" (F4) и "Открыть" (Enter) - каждый индивидуально настраиваемый.

Примечание # 1. Если вы добавили пользовательский view -команд, не забудьте снять отметку "Use internal view" под Options -> Configuration.
Примечание # 2: MC все еще использует свой предпочтительный редактор (например, nano) для редактирования конфигурационных файлов при открытии их из MC.

Ответ 5

Запустите MC, как обычно. В командной строке прямо над нижней строкой выбора меню введите "select-editor" без кавычек. Это должно открыть меню со списком всех ваших установленных редакторов. Это работает для меня на всех моих современных Linux-машинах.