如何禁用 Emacs gnuclient 对kill-buffer 的警告

如何禁用 Emacs gnuclient 对kill-buffer 的警告

当我运行M-x kill-buffer一个通过 openend 的缓冲区时gnuclient,我首先得到这个提示......

Kill buffer (default 'my-buffer-name'): 

然后我收到第二条提示/消息...

Buffer 'my-buffer-name' belongs to gnuserv client(s); kill anyway? (yes or no) 

如何禁用第二个gnuserv/客户端信息? (我不需要它)。

答案1

以下脚本适用于gnuclient或者emacs客户端,尽管它的(原始)文档字符串说,“杀死缓冲区,考虑到 gnuclient。”... 从emacswiki:KillKey

(defun my-kill ()
  "Kill buffer, taking gnuclient into account."
  (interactive)
  (if (buffer-modified-p)
      (error "Buffer has unsaved changes")
    (if server-buffer-clients
 (server-edit)
      (kill-buffer (current-buffer)))))

上面按照要求解决了这个问题,但除此之外,我还通过使用 emacs 的内置解决了这个问题服务器emacs客户端(与 gnuclient 相比,如问题中所述)。

有了这个新的服务器/客户端组合,我可以打开从 bash shell 中打开 emacs 中的文件,就像从 emacs 本身打开(访问)它们一样。

在启动器脚本中,例如。命名e,这个基本命令就可以解决问题;当我杀死缓冲区时不再出现烦人的提示...

它还具有额外的优势允许像这样的功能恢复可见书签等来为该文件/缓冲区运行。

emacsclient -e "(find-file \"$1\")" &>/dev/null

我认为 GNU 服务器/客户端可以完成类似的事情,但我很喜欢emacs客户端,所以我会用它运行。

相关内容