두 개의 창이 있습니다. 하나는 버퍼 목록이고, n을 사용하면 다른 창에서 버퍼 목록에 버퍼를 표시하는 방법은 무엇입니까? 버퍼 목록에서 탐색하려면? 고마워요.포커스가 버퍼 목록에있을 때 다른 창에서 버퍼 내용을 실시간으로 표시하는 방법
답변
질문을 올바르게 이해하면 대답은 단순히 버퍼 메뉴에서 C-o
을 사용하는 것입니다. 다른 창에있는 행의 버퍼를 표시하지만 해당 버퍼는 선택하지 않습니다. 즉, 입력 포커스를 해당 버퍼 창으로 이동하지 않습니다. 버퍼 목록은 입력 포커스를 유지하므로 서로 다른 버퍼에 계속 표시하려면 C-o
을 다른 행에 계속 사용할 수 있습니다.
"프레임"이라고 말하면 이맥스 창을 의미하는 경우 위를 참조하십시오. 버퍼가 다른 프레임에 있어도 마찬가지입니다. MS Windows를 비롯한 일부 창 관리자는 입력 포커스를 새 프레임으로 변경합니다. 따라서 예를 들어, nil
pop-up-frames
(별도의 프레임이 버퍼를 표시하는 데 사용됨)이 있고 표시하려는 버퍼가 다른 프레임에 표시되어 있지 않은 경우 (예 : C-o
) 표시 한 경우 새로운 프레임을 만들뿐만 아니라 새로운 프레임으로 포커스를 이동합니다. 버퍼가 이미 다른 프레임에 표시되면 C-o
은 해당 프레임을 단순히 올립니다.
현재 버퍼 목록 디스플레이에는 (a) 커서를 아래쪽 또는 이전 버퍼 라인으로 이동하고 (b) C-o
버퍼 이름을 표시하는 동작을 호출하는 키 바인딩이 없습니다. 타겟 버퍼 라인. 그러나 여러분은 그러한 명령을 쉽게 정의하여 키에 바인딩 할 수 있습니다.
(defun show-next (arg)
"Show next line's buffer in another window."
(interactive "p")
(next-line arg)
(Buffer-menu-switch-other-window))
(defun show-previous (arg)
"Show previous line's buffer in another window."
(interactive "p")
(previous-line arg)
(Buffer-menu-switch-other-window))
(define-key Buffer-menu-mode-map "\M-n" 'show-next)
(define-key Buffer-menu-mode-map "\M-p" 'show-previous)
다음은이 기능에 대한 내 프로토 타입입니다. 그것은 방문한 후에 버퍼를 죽입니다.
이것은 파일 관리자 인 ranger에서 좋아하는 기능입니다. 디렉토리를 탐색 할 때 편리합니다.
(setq show-next-current-buffer nil)
(defun show-next()
(interactive)
(next-line 1)
(dired-find-file-other-window)
(if show-next-current-buffer (kill-buffer show-next-current-buffer))
(setq show-next-current-buffer (current-buffer))
(other-window 1)
)
(defun show-previous()
(interactive)
(previous-line 1)
(dired-find-file-other-window)
(if show-next-current-buffer (kill-buffer show-next-current-buffer))
(setq show-next-current-buffer (current-buffer))
(other-window 1)
)
(define-key dired-mode-map "n" 'show-next)
(define-key dired-mode-map "p" 'show-previous)
편집 : 나는/수 있도록 쉽게이 기능을 해제 할 수있는 사소한 모드를 작성했습니다. https://gitlab.com/emacs-stuff/my-elisp/blob/master/dired-show.el을 참조하고 필요에 따라 혼합하십시오.
이것은 dired 모드에서 매우 유용합니다. – godblessfq
- 1. 버퍼 내용을 다른 버퍼에 복사하십시오.
- 2. WebGL : 버퍼 객체의 내용을 읽으십니까?
- 3. 버퍼 내용을 OpenGL의 텍스처로 백
- 4. Node.js를 - 내가 버퍼 파일을 읽고있다 버퍼
- 5. VHDL의 버퍼 버퍼 포트
- 6. 프레임 버퍼/컬러 버퍼?
- 7. 이맥스 목록 버퍼 동작
- 8. 버퍼 메뉴에서 다른 버퍼를 선택
- 9. 텍스처 버퍼 객체와 프레임 버퍼 저장
- 10. strace를 다른 버퍼
- 11. Calabash 콘솔 출력 버퍼
- 12. 버퍼 유형
- 13. 버퍼 참조를 잠그는 방법
- 14. Recv 링 버퍼 대 간단한 버퍼
- 15. 버퍼 사각형을 이중화하는 방법
- 16. 플렉스에서 버퍼 설정 방법?
- 17. 버퍼 시퀀스 생성 방법
- 18. VimL : 버퍼 이름으로 버퍼 Vim이 무엇인지 아는 방법
- 19. URL에서 읽을 때 버퍼 크기를 선택하는 방법
- 20. 버퍼 외부에서 읽는 것이 버퍼 오버런으로 계산됩니까?
- 21. Gtk # 텍스트 버퍼 내용을 파일에 저장
- 22. TCP 스트림에서 버퍼 내용을 보내도록 강요합니다.
- 23. 문자열 버퍼
- 24. vim이 버퍼 내용을 변경할 때 파일에 쓸 것을 알려주십시오.
- 25. OpenGL 플로트 버퍼
- 26. 큰 버퍼 스위치 대 작은 버퍼 스위치
- 27. C++ 및 cin 버퍼와 버퍼 일반적으로 버퍼
- 28. 다른 사람의 중간에 버퍼링하는 버퍼
- 29. 동일한 팝업 창에서 다른 내용을 여는 방법
- 30. Ext.direct 버퍼
두 개 이상의 프레임이있을 수 있으므로 대상 프레임을 식별해야하기 때문에 간단한 해결책을 모르고 있습니다. 두 프레임 만 존재하면 다른 프레임을 사용하는 조건이있을 수 있다고 가정합니다. 다음은 어떤 프레임 버퍼가 표시되는지를 제어하는 복잡한 방법에 대한 링크입니다. 지난 한 해 동안이 방법을 성공적으로 사용했습니다. http://stackoverflow.com/a/18371427/2112489 – lawlist
위의 주석 원래 포스터는 노련한 Emacs 사용자와 동일한 컨텍스트에서 '프레임'이라는 용어를 사용한다고 가정합니다. 원래의 포스터가 노련한 이맥스 사용자가 '창'이라는 용어를 사용한다는 의미 인 경우,이 용어는 의미가 명확하다는 것을 이해해야합니다. 그 차이점을 보여주는 예는 다음과 같은 기능을 포함하지만 이에 국한되지 않습니다 :'find-file-other-window'; 'find-file-other-frame'; 'switch-to-buffer-other-window'; '스위치 - 버퍼 - 다른 - 프레임 '. – lawlist
참고 :'buffer-menu-mode'는'Buffer List * '버퍼에 표시되는 파일을 처리하는 다양한 기능을 포함하는 도구 모음 항목을 포함합니다 - 예 :'o' - * 다른 창에서 선택 *. 도구 모음을 비활성화하거나 보이지 않게하려면 다음 키보드와 마우스 바로 가기 조합으로 도구 모음과 유사한 팝업 메뉴가 나타납니다.'C-down-mouse-3' – lawlist