Emacs
如何在 kill-buffer 上禁用 Emacs gnuclient 警告
當我執行
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/client消息?(我不需要它)。
以下腳本適用於gnuclient或emacsclient,儘管它的(原始)文件字元串說:“Kill buffer,考慮到 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 的內置伺服器和emacsclient(與問題中提到的 gnuclient 相比)解決了這個問題。
使用這種新的伺服器/客戶端組合,我可以從 bash shell打開emacs 中的文件,就好像它們是從 emacs 本身打開(訪問)一樣。
在啟動器腳本中,例如。命名
e
,這個基本命令可以解決問題;當我殺死緩衝區時,不再有煩人的提示……它還具有允許*恢復 VisibleBookmarks等功能為該文件/緩衝區執行 的附加優勢。*
emacsclient -e "(find-file \"$1\")" &>/dev/null
我認為使用 GNU 伺服器/客戶端可以完成類似的操作,但我非常喜歡emacsclient,所以我會使用它。