如果我正在運行帶有一堆緩衝區的emacs - 守護進程,是否有一種方法可以啓動emacsclient,以便在上次使用它時打開什麼是頂層緩衝區?如果我使用emacsclient -t或emacsclient -c,它會創建一個新框架並將其置於頂部,我如何避免此行爲並恢復我正在做的任何事情?啓動沒有新框架的emacsclient
0
A
回答
0
好像我找到了答案,雖然它有點不雅。在我的.bash_profile中,我把
alias emacs='emacsclient -a "" -t -e \(kill-buffer\)'
所以,如果它不存在一個守護進程啓動後,Emacs的客戶端連接到它,創建一個新的緩衝區,並立即殺死它,從而留下任何緩衝是在頂部之前(我使用emacs桌面保存)現在顯示在頂部。
0
你可以嘗試這樣的:
emacsclient -e '(raise-frame)'
或
emacsclient -e '(other-frame 0)'
如果這些解決方案的工作(這取決於你的窗口管理器),你也可以嘗試以下解決方案(從這個SO answer):
emacsclient -e "(select-frame-set-input-focus (selected-frame))"
0
您似乎對emacs概念有點困惑。一個框架是在Emacs別人叫窗口和emacs的窗口是顯示一個緩衝(您正在編輯的文本)。
選項-c
和-t
應該創建一個新的框架(圖形或tty),如果你不想要的,而不是把它們放在外面。
如果仍然有一個打開的(圖形)框架,最後一個活動的框架將被聚焦(可能取決於您的窗口管理器)並顯示訪問上一個活動窗口中給定文件的緩衝區。如果沒有圖形框架,則會打開當前tty上的新框架。
emacsclient
不能被稱爲沒有一個文件或目錄和要麼-t
或-c
。因此,請使用您的窗口管理器來顯示所需的幀。
但如果你真的想要的是,在該列表(list-buffers)
,那麼你的運氣了頂部與緩衝區打開一個新的框架,因爲一個新的幀總是顯示劃痕緩衝區(如果沒有配置)。您可以使用C-x b
或變量initial-buffer-choice
修改手動更改。
0
的
emacsclient -e '(raise-frame)'
或
emacsclient -e '(other-frame 0)'
或
emacsclient -e "(select-frame-set-input-focus (selected-frame))"
沒有爲我工作。他們確實導致emacs最初顯示除* scratch *以外的緩衝區,但它不是我正在處理的最後一個緩衝區。我必須編寫自己的機制來實現它 - 它假定您使用C-x C-c從服務器斷開emacsclient:
(defun save-last-buffer-name-and-kill()
(interactive)
(setq jeeves/last-buffer-name (current-buffer))
(save-buffers-kill-terminal)
)
(defun get-last-buffer-name()
jeeves/last-buffer-name
)
(global-set-key (kbd "C-x C-c") 'save-last-buffer-name-and-kill)
(setq initial-buffer-choice 'get-last-buffer-name)
相關問題
- 1. Emacs - emacsclient或新框架?
- 2. 如何在啓動新的emacsclient框架後運行某些elisp代碼?
- 3. 如何用emacsclient啓動兩個窗口/ emacs框架?
- 4. 啓動一個沒有AJAX框架的浮動窗口/ iframe
- 5. 如何關閉emacsclient中的所有打開的框架?
- 6. 沒有動畫框架的Qt動畫
- 7. 有沒有zend框架的框架?
- 8. Model類沒有在Zend框架項目(快速啓動)
- 9. Windows上的emacsclient對話框
- 10. 啓動機架服務器沒有config.ru?
- 11. Equinox:框架重新啓動後丟失的包的更新
- 12. 實體框架 - 確保沒有更新
- 13. 實體框架:協會沒有更新
- 14. 實體框架SaveChanges沒有更新db
- 15. UI在ionv2框架中沒有更新
- 16. 沒有OSGi框架的BIRT
- 17. 沒有框架的網站
- 18. 沒有Javascript的CSS框架
- 19. 沒有框架的add_axes
- 20. XSocket.net沒有的plugin-框架
- 21. 沒有Zend框架的Zend_Db
- 22. Laravel Artisan - 重新加載.env變量或重新啓動框架
- 23. 從對話框啓動框架
- 24. 有沒有android ORM框架?
- 25. 如何關閉emacsclient GUI框架而不殺死服務器
- 26. 框架動畫只能啓動一次
- 27. Xcodebuild沒有生成x86_64架構的動態框架
- 28. 實體框架:SQL Server重新啓動後的連接
- 29. 的PHP框架更容易啓動
- 30. 播放框架1.2.7啓動時的ActionNotFoundException
我對幀和緩衝區沒有困惑。回到2013年,當我問這個問題時,我在非圖形環境中將emacs服務器作爲後臺運行的守護程序運行,並且我想要某種方式將emacsclient連接到它,而不必指定任何內容,有點像附加和分離屏幕會話。 但這是重點。這是2016年,我幾年前解決了這個問題,我不再使用emacs。 –