2

Причина, по которой я спрашиваю, заключается в том, что в большинстве случаев они выглядят одинаково, за исключением случаев, когда используется расширение внешнего редактора Thunderbird (редактор обозначен как emacsclient -c). Закрытие фрейма, созданного этим экземпляром emacsclient, с помощью C-x C-c (C-x # иногда не работает?) также уничтожит буфер, связанный с этим кадром (не обычное поведение emacsclient).

И, как правило, C-x C-c просто закроет кадр, если в этом кадре не будет посещен другой буфер - после этого C-x C-c попытается закрыть все emacs. Как я пытаюсь понять это поведение?

1 ответ1

2

В Emacs вы можете получить справку для любой клавиши, нажав Ch k и затем введя комбинацию клавиш, о которой вы хотите знать. Нажатие Ch k Cx # возвращает это:

Cx # запускает команду server-edit, которая представляет собой интерактивную скомпилированную функцию Lisp в `server.el '.

Это связано с Cx #.

(серверное редактирование и необязательный ARG)

Переключиться на следующий буфер редактирования сервера; сказать "Готово" для текущего буфера. Если буфер сервера является текущим, он помечается как "выполненный" и при необходимости сохраняется. Буфер также уничтожается, если он не существовал до того, как клиенты запросили его. Когда все клиентские буферы помечены как выполненные, клиент получает уведомление.

Временные файлы, такие как файлы MH, всегда сохраняются и сохраняются без вопросов. (Переменная 'make-backup-files', если nil, по-прежнему запрещает резервное копирование; вы можете установить ее локально в определенном буфере, чтобы предотвратить ее резервное копирование.) Переменная 'server-temp-file-regexp' определяет, какие имена файлов считаются временными.

Если вызывается с префиксным аргументом или если не запущен серверный процесс, запускается серверный процесс, и это все. Вызывается Cx #. Cx # запускает команду server-edit, которая представляет собой интерактивную скомпилированную функцию Lisp в 'server.el'.

Аналогично для Cx Cc

Cx Cc запускает команду save-buffers-kill-terminal, которая представляет собой интерактивную скомпилированную функцию Lisp в `files.el '.

Это связано с Cx Cc.

(save-buffers-kill-terminal & необязательный ARG)

Предложите сохранить каждый буфер, а затем убить текущее соединение. Если в текущем кадре нет клиента, уничтожьте сам Emacs.

С префиксом ARG, молча сохраните все буферы, посещающие файлы, затем убейте.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .