0

我想做一些类似于iswitchb-buffer-other-frame except的事情,以编程方式将文件名设置为当前帧。(iswitchb-buffer-other-frame您必须以交互方式选择文件)

如果 iswitchb 已过时,我可以使用ido-mode其他软件包(或直接 Lisp)来实现吗?

我怎样才能做到这一点?


编辑

根据@pickle-rick的回答,我根据需要调整了代码。

  • 我需要使用switch-to-buffer-other-window而不是switch-to-buffer-other-frame. 我不知道为什么......在我的设置中,我有 2 个帧 - 每个帧都有一个窗口,我需要将当前缓冲区移动到另一个帧。但它有效!
  • 此外,我使用任意缓冲区 ( *scratch*) 填充原始帧(以防止在原始帧中显示原始缓冲区)

这是我调整后的代码:

(defun my-switch-buffer-other-frame ()
  (interactive)
  (switch-to-buffer-other-window (current-buffer))
  (other-frame 1)
  (switch-to-buffer "*scratch*")
  (other-frame 1))
4

1 回答 1

0

ido 等效项是ido-switch-buffer-other-frame,它也提示进行交互式选择。这是一个简单的修改,以避免提示,并使用当前缓冲区代替,

(defun my-switch-buffer-other-frame ()
  (interactive)
  (switch-to-buffer-other-frame (current-buffer)))
于 2019-12-02T23:26:06.627 回答