LINUX.ORG.RU

emacsclient выйти не убивая соответствующий буфер на сервере

 ,


0

2

Доброго времени суток Всем!

собственно сабж

стартуем emacs --daemon, открываем в одном окне терминала ec -nw - типа такой глобал редактор, в других темриналах шаримся из mc по файлам. Открываем на редактирование ec -nw file - все ок - можно поправить и тут и в «глобал редакторе». Но если выйти, то буфер закрывается и в «глобал редакторе», а иногда хочется закрыть окно редактора, не закрывая соответствующий буфер на сервере. Какую функцию надо вызвать для этого?

ps: alias ec="emacsclient"

pps: можно «оправить файл на редактирование» ec -n file - обычно так и делаю, но как то оно не то...

ppps: выхожу и C-x C-c и C-x # и C-x 5 0 - все одно и то же

★★

https://www.gnu.org/software/emacs/manual/html_node/emacs/Invoking-emacsclien...

Finishing with a server buffer also kills the buffer, unless it already existed in the Emacs session before the server was asked to create it. However, if you set server-kill-new-buffers to nil, then a different criterion is used: finishing with a server buffer kills it if the file name matches the regular expression server-temp-file-regexp. This is set up to distinguish certain temporary files.

То есть:

(setq server-kill-new-buffers nil)
grazor ★★
()
Последнее исправление: grazor (всего исправлений: 1)
Ответ на: комментарий от grazor

ok.

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

А вот очень хотелось бы Cx Cc - выйит как обычно, а Cx # - выйти не закрывая буфер...

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

Cf. advice.

(define-advice server-edit (:around (orig-fun &rest args) no-kill)
  "Preserve created buffers."
  (let ((server-kill-new-buffers nil))
    (apply orig-fun args)))

(Не проверял.)

Впрочем, кто-то скажет, что чище будет переназначить только сочетание.

Zmicier ★★★★★
()
Последнее исправление: Zmicier (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.