emacs缓冲区绑定到密钥

时间:2010-09-04 01:01:58

标签: emacs dot-emacs

我不知道为什么,但目前emacs只打开一个w3m副本。如果w3m已经打开,那么重新输入命令以打开w3m会将我带到已经打开的缓冲区。我想类似地配置ansi-term,即输入C-x C-a(命令打开ansi-term)应该让我已经打开ansi-term而不是完全打开一个新的缓冲区。

我如何在emacs中实现这一目标?

1 个答案:

答案 0 :(得分:3)

您可以在ansi-term周围编写一个包装器函数来检查是否已有现有的终端缓冲区,并在该缓冲区存在时对其进行回收:

(defun green-ansi-term ()
  "Show an existing buffer called \"*ansi-term*\" if one exists, otherwise
call function ansi-term interactively."
  (interactive)
  (let ((existing-buffer (get-buffer "*ansi-term*")))
    (if existing-buffer
        (switch-to-buffer existing-buffer)
      (call-interactively 'ansi-term))))