2013-12-11 59 views
1

如何打开一个新窗口(例如使用C-x 3)到一个新的缓冲区中,而不是一个镜像缓冲区,它只是回应我输入的内容。打开一个窗口到指定的缓冲区

举个例子,比方说我正在搞python,我想运行shell中的脚本。因为它是目前我这样做:C-x 3M-x shell然后启动它并运行。我宁愿只是C-x 3,它会自动打开为shell。我是真的新的Emacs,所以我不知道在哪里寻找这个。

回答

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和键绑定来找到有关键绑定功能的文档。从这一点来看,很容易将现有的命令链接成新的命令。

+0

很酷。我刚刚在Emacs中找到了“Emacs Lisp的入门”,并且正在阅读......所以。许多。信息。虽然很有趣。如果没有太多的麻烦,你能解释一下lisp函数吗?谢谢! – Matt

+0

我做过了,内置评论 – juanleon

+0

太好了。再次感谢! – Matt

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)))) 

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

相关问题