LINUX.ORG.RU

Принудительно закрыть Emacs в консоли

 ,


0

1

Доброго времени суток! Столкнулся с проблемой. Попытался на удалённом сервере отредактировать файл в /etc, забыв указать sudo, — emacs его открыл, но выходить не захотел, при попытке закрыть спрашивает — сохранять ли изменения буфферов, я отказываюсь, потом говорит что есть modified buffers, всё равно сделать kill? Я говорю ему: «да», — а он мне такой в ответ: “Attempt to save to a file which you aren't allowed to write”, и всё, дальше никуда, так повторяется как с C-x C-c, так и с M-x kill-emacs, я конечно понимаю, что можно выполнить kill -9 процессу emacs-а, но может есть более естественные и гуманные способы? Более native для Emacs-а, так сказать: «закрыть во чтобы то ни стало, и без бюрократии»!



Последнее исправление: cetjs2 (всего исправлений: 1)

killall -s SIGKILL emacs — вполне нормальный способ ☺

Я говорю ему: «да», — а он мне такой в ответ: “Attempt to save to a file which you aren't allowed to write”

странно.

Bad_ptr ★★★★★
()

Только что проверил у себя - выходит нормально, даже если поредактировать запрещенный файл.

kill-emacs - самая низкоуровневая функция для выхода. Проверь, может у тебя какой-то хук в kill-emacs-hook не дает ей нормально отработать?

provaton ★★★★★
()
Ответ на: комментарий от provaton

У меня на основе starter kit emacs, скорее всего там какой-то хук стоит. Подскажите, как отбиндить хук?

unclechu
() автор топика
Ответ на: комментарий от Pupkin92

Сидел я в Vim-е, дольше чем в Emacs, пользуюсь vi/vim-tiny иногда для быстрого редактирования на удалённых машинах, когда выбирать не из чего. Emacs для меня куда более удобен для development.

unclechu
() автор топика
Ответ на: комментарий от unclechu

Это убирает все добавленные хуки (запускать через M-x eval-expression):

(setq kill-emacs-hook nil)

Альтернативно, можно глянуть какие именно хуки стоят через C-h v kill-emacs-hook, и убрать проблемный хук с помощью функции remove-hook.

provaton ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.