這是一個相當基本的問題,但是在emacs中打開一個單獨的框架(make-new-frame)中的新文件或在emacsclient的實例中打開該文件的實際區別是什麼?我可以看到,如果您正在通過終端進行工作,則區別很明顯......但emacsclient是否還可以將緩衝區菜單或ido模式訪問的緩衝區列表限制爲在該特定emacsclient實例中打開的緩衝區?Emacs - emacsclient或新框架?
回答
除了服務器設置一些緩衝區本地狀態以啓用C-x #
(又名server-edit
)之外,兩種情況之間確實沒有區別。
您可以限制M-x list-buffers
行爲就像你用下面的建議,要求:
(defadvice list-buffers-noselect (before list-buffers-noselect-limit-to-those-for-emacsclient activate)
"When the current buffer is a being viewed by an emacclient, restrict the buffers to those associated with the emacsclient"
(when (and (null (ad-get-arg 1)) server-buffer-clients)
(let ((blist (delete-dups (reduce 'append
(mapcar (lambda (proc) (process-get proc 'buffers))
server-buffer-clients)))))
(ad-set-arg 1 blist))))
現在,當你通過emacsclient
參觀了一個緩衝區做M-x buffer-menu
,你只能看到由同一個客戶端訪問其他緩衝區(S )。當緩衝區未被emacsclient
訪問時,它正常工作。
我不使用ido
,但我想象定製會是類似的(如果這個建議不起作用)。
詳細信息是,當您運行emacsclient
時,打開的緩衝區與服務器進程相關聯(它可以不止一個,因爲您可以通過多個調用emacsclient
打開相同的文件)。緩衝區的服務器客戶端存儲在緩衝區本地變量server-buffer-clients
中。
要找出緩衝區與emacsclient
特定調用相關聯,找到進程爲emacsclient,並做到:(process-get proc 'buffers)
(其中proc
是特定emacsclient過程 - 在server-buffer-clients
發現列表中的元素之一)。
這就是所有的建議。
只要emacsserver在運行,emacs 23就沒有區別。緩衝區列表將在每個中相同。
謝謝 - 是的,它看起來大部分是正確的,但似乎有一些emacs部分意識到哪些客戶端正在訪問特定文件,正如Trey指出的那樣...但感謝您的輸入! – hatmatrix 2009-10-09 03:11:00
- 1. 啓動沒有新框架的emacsclient
- 2. 如何用emacsclient啓動兩個窗口/ emacs框架?
- 3. Emacs 23,emacsclient參數?
- 4. Windows上的emacsclient對話框
- 5. 如何關閉emacsclient中的所有打開的框架?
- 6. 如何關閉emacsclient GUI框架而不殺死服務器
- 7. Emacs框架周圍的邊框/框架
- 8. 創建或重新使用現有的Emacs GUI框架
- 9. 如何在啓動新的emacsclient框架後運行某些elisp代碼?
- 10. 用於新框架的Emacs鉤子
- 11. Emacs的23,OS X,多TTY和emacsclient
- 12. 的Emacs和Emacsclient不是同一版本
- 13. Emacsclient掛在殺
- 14. emacsclient窗口焦點
- 15. 隔離一個emacs框架
- 16. Emacs的框架配置
- 17. shell:調用emacsclient時重用後臺emacsclient窗口
- 18. 框架或框架64?
- 19. 定位框架或框架
- 20. emacsclient:無法打開顯示
- 21. Emacs的:當我創建一個新的框架
- 22. Emacs + ECB:如何設置一個新框架的大小
- 23. 如何專注於Windows中的新Emacs框架
- 24. 禁止emacs在新框架中打開組織模式菜單
- 25. 框架或CMS?
- 26. iphone/ipad雜誌框架,iScroll或更新?
- 27. 實體框架 - 更新或添加
- 28. 新的或舊的非MVC PHP框架
- 29. 如何使用`emacsclient`命令在OS X上雙擊EMACS文件?
- 30. 如何使emacsclient找到它執行的emacs守護進程
謝謝!正如Jed所提到的,打開一個新框架時似乎沒有區別,但是當我使用emacsclient -t打開一個新文件時,上面的建議可行。有趣的...我會研究這個ido模式和可能ibuffer。非常感激! – hatmatrix 2009-10-09 03:09:24
你有沒有得到它與ido一起工作? – tatsuhirosatou 2013-04-07 19:30:17