在emacs中,是否有M-x命令或組合鍵將所有當前打開的緩衝區渲染到不同的窗口中?爲了清楚起見,我們假設我有四個打開的緩衝區,而且我只看到當前正在顯示的一個緩衝區,並且我想在一個步驟中將每個緩衝區顯示在一個象限中。顯示Emacs中所有打開的緩衝區
2
A
回答
2
您將能夠開始與下面的代碼,如果沒有一個已經知道的方式做到這一點:
(defun buffer-in-window-list()
(let (buffers)
(walk-windows (lambda (window) (push (window-buffer window) buffers)) t t)
buffers))
(defun display-all-buffers()
(interactive)
(let (buffers-in-window (buffer-in-window-list))
(dolist (buffer (buffer-list))
(when (and (not (string-match "\\`[[:space:]]*\\*" (buffer-name buffer)))
(not (memq buffer buffers-in-window)))
(set-window-buffer (split-window (get-largest-window)) buffer)))
(balance-windows)))
的display-all-buffers
命令打開一個新窗口每個當前不顯示的緩衝區(包括其他幀)。爲了便於使用,它忽略了名稱以*
(可選地,以空白字符爲前綴)開頭的緩衝區,因爲它們通常僅供內部使用。
請注意,Emacs不允許用戶製作太小的窗口。因此,當顯示的緩衝區太多時,命令會按照最近的顯示或選擇順序顯示儘可能多的緩衝區,併發出錯誤信號。
3
我推薦ibuffer。 M-x ibuffer可能就是你想要的。這裏是我的ibuffer配置:
;; *Messages* is so annoying. Also, I really like ibuffer
(require 'ibuf-ext)
(add-to-list 'ibuffer-never-show-predicates "^\\*Messages")
(add-to-list 'ibuffer-never-show-predicates "^\\*Completions")
(global-set-key (kbd "C-b") 'ibuffer)
(kill-buffer "*scratch*")
('ibuffer)
(switch-to-buffer "*Ibuffer*")
+0
感謝user996056,我不知道關於ibuffer,並且這個配置很好! –
相關問題
- 1. 所有emacs緩衝區中的行號
- 2. 打開文件時打開沒有暫存緩衝區的emacs
- 3. 讓emacs grep緩衝區使用特定的emacs緩衝區來顯示命中
- 4. Cocoa Emacs打印緩衝區
- 5. 關閉緩衝區後顯示Emacs緩衝區
- 6. XEmacs緩衝區選項卡不顯示所有緩衝區
- 7. 獲取所有Emacs緩衝區列表
- 8. 在emacs中的所有打開的緩衝區上運行keep-lines命令
- 9. Emacs搜索並打開多個文件並在所有緩衝區中搜索
- 10. 如何在Emacs緩衝區中突出顯示所有出現的單詞?
- 11. 發送bash命令到emacs中打開的終端緩衝區
- 12. 告訴Emacs在特定窗口中打開新的緩衝區
- 13. 打開窗口並加載emacs lisp中的特定緩衝區
- 14. Markdownize Emacs緩衝區
- 15. Emacs erlang緩衝區
- 16. 如何在右側窗口中打開emacs-nav緩衝區?
- 17. Emacs ido在循環列表中首先打開緩衝區
- 18. Emacs緩衝區菜單:如何僅顯示文件+ dired緩衝區?
- 19. Emacs:打印一個UTF-8緩衝區
- 20. 在最近Emacs的其他窗口中顯示緩衝區
- 21. 僅在Emacs的迷你緩衝區中顯示錯誤消息
- 22. Emacs重新打開先前被殺死的緩衝區?
- 23. 如何用包含輸入的緩衝區打開emacs?
- 24. 使用垂直分割打開新的Emacs緩衝區
- 25. 將函數應用於emacs中的所有緩衝區
- 26. 如何恢復emacs緩衝區列表中的緩衝區?
- 27. 顯示協議緩衝區消息中的所有元素
- 28. 將所有選定的文件打開爲隱藏緩衝區?
- 29. 在Emacs中拆分窗口 - Tabbar只顯示活動緩衝區
- 30. 如何在Emacs緩衝區中突出顯示標籤?
4個緩衝區?我的Emacs現在有188個緩衝區(儘管實際上只有154個緩衝區正在訪問文件)。 – cjm
cjm你有所有這些緩衝區分裂成屏幕的不同部分? –
顯然不是,他們不適合。我一次只有幾個實際顯示(通常只有1個)。 – cjm