Emacs: как сделать его редактором в полночь командира?
Мой вопрос о Полуночном командире. Я отключил использование внутреннего редактора (в Параметры -> Конфигурация) и положил в .bashrc
:
export EDITOR='emacsclient -n'
еще - нажатие F4 ничего не дает, нажатие F3 - открывает в vi
, Есть ли способ сделать emacsclient
быть текстовым редактором по умолчанию в mc
?
5 ответов
Я нашел способ: можно использовать функцию макроса mc. Для этого сделайте файл:
e Open in emacsclient
emacsclient -n %s
и сохранить его как ~/.mc/menu
или же ~/.mc.menu
, После этого на пресс F2
- Вы получите список своих функций. И будет функция Open in emacs
- который будет доступен e
, Итак, два ключа F2-e
открыть текущий файл (или все выбранные файлы) в emacsclient -n
,
Удалите ~/.selected_editor, затем, когда вы в следующий раз нажмете F4, MC предложит выбрать редактор. Или вы можете напрямую изменить его.
$ cat .selected_editor
# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/usr/bin/vim.basic"
Это работает на Ubuntu. Я пробовал любые другие способы установить редактор по умолчанию, который не поможет.
Запустите MC как обычно. В командной строке справа над нижним рядом пунктов меню введите "select-editor" без кавычек. Это должно открыть меню со списком всех ваших установленных редакторов. Это работает для меня на всех моих текущих машинах Linux.
Вот еще одно решение: отредактируйте файл расширения и добавьте Edit-запись.
(Извините, недостаточно репутации, чтобы добавить это в качестве комментария к ответу Густава Бертрама.)
Обязательно используйте встроенную функциональность MidnightCommander, так как расположение конфигурационных файлов в некоторых версиях MC может меняться.
Так нажмите F9
или же ESC,9
(чтобы открыть меню), затем перейдите к Command -> Edit Extension File
,
В редакторе найдите последний блок, который выглядит так:
# Default target for anything not described above
default /*
Open=
View=
Измените его на что-то подобное (обратите внимание на Edit
-линия!!!):
# Default target for anything not described above
default/*
Open= %var{EDITOR:emacs} %f &
View=
Edit= %var{EDITOR:emacs} %f &
После сохранения файла обязательно выключите внутренний редактор!!
(F9
или же ESC,9
, Options -> Configuration
, " Use internal edit
должен быть снят)
Таким образом (работая по крайней мере с более поздними версиями MC) вы можете иметь три разных редактора (или параметры командной строки), чтобы открыть файл: "Просмотр" (F3
), "Редактировать" (F4
) и "Открыть" (Enter
) - каждый индивидуально настраивается.
Примечание № 1: Если вы добавили пользовательский view
-команда, не забудь снять галочку Use internal view
" под Options -> Configuration
,
Примечание № 2: MC по-прежнему использует предпочитаемый редактор (например, nano) для редактирования конфигурационных файлов при их открытии изнутри MC.
Я изменяю файл ~/.mc/bindings:
### Default ###
# Default target for anything not described above
default/*
Open=%var{EDITOR:emacs} %f &
View=
Таким образом, я все еще могу просматривать файлы с помощью F3, но F4 или ввод обычно редактируют их с помощью Emacs.
Кстати, амперсанд так, что файл будет всплывать в X, а я могу продолжить в mc. Возможно, вам придется удалить это, если вы работаете только в командной строке.
ОБНОВЛЕНИЕ: если у вас нет ~/.mc/bindings
файл, внутри mc, нажмите F9 ce (Меню, Команды, Изменить файл расширения), и он должен получить вас там.
Кроме того, вам нужно отключить функцию внутреннего редактирования, перейдя в F9 oct (Меню, Параметры, Конфигурация, использовать Внутреннее редактирование), сняв флажок и сохранив параметры.