如何打开一个新窗口(例如使用C-x 3
)到一个新的缓冲区中,而不是一个镜像缓冲区,它只是回应我输入的内容。打开一个窗口到指定的缓冲区
举个例子,比方说我正在搞python,我想运行shell
中的脚本。因为它是目前我这样做:C-x 3
,M-x shell
然后启动它并运行。我宁愿只是C-x 3
,它会自动打开为shell
。我是真的新的Emacs,所以我不知道在哪里寻找这个。
如何打开一个新窗口(例如使用C-x 3
)到一个新的缓冲区中,而不是一个镜像缓冲区,它只是回应我输入的内容。打开一个窗口到指定的缓冲区
举个例子,比方说我正在搞python,我想运行shell
中的脚本。因为它是目前我这样做:C-x 3
,M-x shell
然后启动它并运行。我宁愿只是C-x 3
,它会自动打开为shell
。我是真的新的Emacs,所以我不知道在哪里寻找这个。
在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和键绑定来找到有关键绑定功能的文档。从这一点来看,很容易将现有的命令链接成新的命令。
这听起来我这个样子,或者类似的东西,是你在找什么:
(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))))
你不想只是将窗口拆分,这是专门关于两次显示相同的缓冲区。您想要切换到另一个缓冲区,但希望它显示在当前窗口的右侧。
很酷。我刚刚在Emacs中找到了“Emacs Lisp的入门”,并且正在阅读......所以。许多。信息。虽然很有趣。如果没有太多的麻烦,你能解释一下lisp函数吗?谢谢! – Matt
我做过了,内置评论 – juanleon
太好了。再次感谢! – Matt