将窗口打开到指定的缓冲区

时间:2013-12-11 08:41:35

标签: emacs emacs24

如何在新缓冲区中打开一个新窗口(例如使用C-x 3),而不是像我输入的那样回显一个镜像缓冲区。

例如,假设我正在搞乱python,我想在shell中运行脚本。目前我执行此操作:C-x 3M-x shell然后启动并运行。我只想C-x 3,它会自动打开shell。我真的是Emacs的新手,所以我不知道在哪里寻找这个。

2 个答案:

答案 0 :(得分:1)

在emacs中,很容易定义自定义命令并将其绑定到键。例如,如果将其添加到init文件中:

(defun open-shell-at-left ()
  (interactive)         ;; Tell emacs this function can be called interactively
  (split-window-right)  ;; Just what C-x 3 does
  (shell))              ;; Just what M-x shell does

(global-set-key (kbd "C-c 3") 'open-shell-at-left)

键入 C-c 3 时,您将拥有所需的内容。通常,您可以通过键入 C-h k 和键绑定找到有关键绑定功能的文档。从那时起,很容易将现有命令链接到新命令。

答案 1 :(得分:1)

听起来像这样,或类似的东西,正是你在寻找的东西:

(defun pop-to-buff-at-right (buffer)
  "Pop to BUFFER at the right of the current window."
  (interactive "B")
  (pop-to-buffer buffer '(display-buffer-in-side-window
                          (side . right)
                          (inhibit-same-window . t))))

您不想只拆分窗口,这特别是关于两次显示相同的缓冲区。您想切换到另一个缓冲区,但希望它显示在当前窗口的右侧。