簡體   English   中英

Emacs - 打開緩沖區列表而不替換另一個緩沖區

[英]Emacs - Open buffer list without replacing another buffer

我有一個框架,一個窗口。 我使用Cx 3,我現在有兩個窗口。

我使用Cx Cb來查看緩沖區列表,但是它會在另一個窗口中打開它,但不會將焦點放在它上面。 如果我在第二個窗口打開一個緩沖區,那就更煩人了。

我更願意在當前具有焦點的窗口中打開緩沖區列表,或者暫時將焦點更改為緩沖區列表。

首先,我想首先說ibuffer函數與你想要的ibuffer ,並且在當前窗口中這樣做,它絕對值得一試。

現在談談你的實際問題。 Cx Cb默認調用函數list-buffers 如果使用Ch f搜索該命令,它將顯示文檔,從那里您可以通過單擊buff-menu.el的帶下划線的文本來查看該函數的源代碼。

現在我們可以查看list-buffers的來源,第一個被調用的函數是display-buffer 聽起來很有希望。 我們現在可以再次使用Ch f來搜索display-buffer命令。 通過本文檔閱讀,我們看到變量display-buffer-alist指示了display-buffer ,以及list-buffers工作方式。 然后我們可以通過向display-buffer-alist添加("*Buffer List*" . display-buffer-same-window)來獲得所需的結果。

總而言之,您只需在init文件中(add-to-list 'display-buffer-alist '("*Buffer List*" . display-buffer-same-window))進行更改。

請嘗試以下方法之一:

  1. 打開當前具有焦點的緩沖區列表:
(defun my:list-buffers (&optional arg)
  (interactive "P")
  (display-buffer (list-buffers-no-select arg) '(display-buffer-same-window)))
  1. 改變焦點
(defun my:list-buffers2 (&optional arg)
  (interactive "P")
  (select-window (list-buffers arg)))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM