我有一個emacs守護進程運行一個打開文件的客戶端。我理解C-k背後的概念,顯示「緩衝區仍然有客戶端」,但爲什麼當緩衝區僅在一個客戶端打開時(我只有一個客戶端打開)會發生這種情況?Emacs Server爲什麼只在一個客戶端上打開時會說「緩衝區仍有客戶端」?
emacs守護程序是否考慮另一個客戶端副本的緩衝區的emacs服務器副本?
我有一個emacs守護進程運行一個打開文件的客戶端。我理解C-k背後的概念,顯示「緩衝區仍然有客戶端」,但爲什麼當緩衝區僅在一個客戶端打開時(我只有一個客戶端打開)會發生這種情況?Emacs Server爲什麼只在一個客戶端上打開時會說「緩衝區仍有客戶端」?
emacs守護程序是否考慮另一個客戶端副本的緩衝區的emacs服務器副本?
客戶端連接未關閉C-k
,關閉時爲C-x #
。因此,實際上,當您點擊C-k
時,您告訴Emacs在不關閉連接的情況下終止緩衝區。所以'開放客戶'就是你正在看的那個。
警告是爲了防止您無意中關閉客戶端連接,並導致在等待過程中發生某些意外操作。例如,當從git或郵件調用emacsclient作爲編輯器時,關閉連接可能會導致提交或發送電子郵件。即使只有一個框架打開,您可能正在處理多個緩衝區,但不記得這個特定的緩衝區來自客戶端請求。所以emacs顯示警告說「你確定要殺死這個緩衝區嗎?這也會關閉客戶端連接。」
C-x#是告訴emacs的方式「我知道這有一個客戶端正在等待它,我已經完成了,請告訴客戶端我完成了」並跳過警告。
我知道這已經過去了幾個月,但使用C-x#關閉緩衝區而不是保存/查殺有什麼好處?我閱讀了關於C-x#的幫助文檔,但我不清楚何時應該使用這個文檔,而不是使用它來殺死一個緩衝區。 –
@TimS。我也不清楚。我使用emacsclient很多,這仍然會定期捕捉我。我傾向於建議使用kill-buffer來檢查客戶端,並在默認情況下關閉這些連接。我不知道這是否會導致問題。 – Tyler