如何打開一個新窗口(例如使用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