2013-12-11 2 views
1

입력 한 내용을 그대로 반영하는 미러 된 버퍼가 아닌 새 창 (예 : C-x 3 사용)을 새 버퍼로 열려면 어떻게해야합니까?창을 지정된 버퍼로 열기

예를 들어, 내가 파이썬으로 장난하고 있다고 가정 해 봅시다. shell에서 스크립트를 실행하고 싶습니다. 현재로서는 다음과 같이합니다 : C-x 3, M-x shell 그리고 나서 시작하고 실행하십시오. 차라리 그냥 C-x 3을 입력하면 자동으로 shell으로 열립니다. 나는 입니다. 정말 이봐 요. 이봐 요, 어디서 찾아야할지 모르겠군요..

답변

1

이맥스에서는 사용자 지정 명령을 정의하고이를 키에 바인딩하기가 쉽습니다. 예를 들어, 당신은 당신의 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에있는'Intro to 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)))) 

은 두 번 같은 버퍼를 보여주는 대해 특별히있는 창을 분할 할 수 있습니다. 다른 버퍼로 전환하려고하지만 현재 윈도우의 오른쪽에 표시하려고합니다.