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-машинах.