Всякий раз, когда я случайно набираю жирный палец C-x C-c
(или Cmd-Q
на Mac), GNU Emacs сразу же завершает работу, если не открыты оболочки или не изменены буферы, поддерживаемые файлами, - в этом случае он запрашивает, как продолжить.
К сожалению, если у меня нет открытых сессий оболочки и я сохранил свои файлы, но я нахожусь в процессе создания блестящего, но, возможно, не совсем содержательного сообщения журнала git (в буфере *vc-log*
), которое выиграло не помешает мне выйти одним махом, без промедления, тем самым потеряв этот черновик, который, по-видимому, нигде не сохраняется автоматически, и я не смог его найти.
Как лучше всего решить эту проблему? Я думаю, что лучше всего для *vc-log*
и любого другого такого буфера, который обеспечивает композицию «на лету», не поддерживаемую традиционным файлом (таким как сообщение фиксации / регистрации или электронная почта), тем не менее, чтобы он был поддержан файл "в ожидании черновика". Это не только поможет избежать случайного выхода из Emacs, но и позволит восстановить такой черновик в случае сбоя Emacs (или самого компьютера).
Если это разумный подход, как он должен быть реализован?
Другие подходы, которые я рассмотрел (которые кажутся далеко не идеальными):
- Каким-то образом убедить подходящую выходную ловушку Emacs всегда запрашивать перед выходом, даже если нет ни сеансов оболочки, ни модифицированных буферов с файловой поддержкой
- Используйте новый сеанс Emacs, автоматически вызываемый (например,
git commit
(без опции -m
и предполагающий GIT_EDITOR=emacs
в среде), поэтому буфер COMMIT_EDITMSG
с файловой поддержкой используется для создания сообщение коммита - которое предотвращает выход нового сеанса Emacs без запроса и , предотвращает случайный выход из исходного сеанса Emacs (обычно «более толстый» со многими буферами и другим контекстом)
- Используйте
git commit -m ...
для однострочных коммитов
- Всегда оставляйте сеанс оболочки открытым (в Emacs), поэтому выход всегда вызывает сначала
Любые рекомендации?