2013-12-11 58 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)))) 

你不想只是將窗口拆分,這是專門關於兩次顯示相同的緩衝區。您想要切換到另一個緩衝區,但希望它顯示在當前窗口的右側。

相關問題