Emacs, 이전 창으로 전환
Emacs C-x o에서 다음 창으로 이동합니다.
Emacs의 이전 창으로 이동하는 키보드 매크로는 무엇입니까?
그건 C-- C-x o
즉, C-x o인수가 -1입니다. 에서 C-u와 같이와 명령 사이 에 숫자 인수를 삽입하여 많은 창 수를 있습니다 C-u 2 C-x o. ( C--는의 바로 가기입니다. C-u - 1)
지오메트리를 기반으로 선택한 창으로 선택할 수있는 windmove를 사용해 볼 수도 있습니다. Cx 화살표 키를 사용하여 창을 변경하려는 .emacs 파일에 다음이 있습니다.
(global-set-key (kbd "C-x <up>") 'windmove-up)
(global-set-key (kbd "C-x <down>") 'windmove-down)
(global-set-key (kbd "C-x <right>") 'windmove-right)
(global-set-key (kbd "C-x <left>") 'windmove-left)
개인적으로 사용하는 것을 선호합니다 window-number.el
다른 창을 선택하십시오 Ctrl.- x, Ctrl- j n을 사용하십시오.
여기서 N은 캡쳐 화면에 보여지는 것과 같이, 윈도우의 수, 각 프로그램 윈도우의 그것의 수의 모델 인 줄이다.
window-number.el을 다운로드하고 emacs로드 경로에 배치하고 다음을 사용하십시오..emacs
(autoload 'window-number-mode "window-number"
"A global minor mode that enables selection of windows according to
numbers with the C-x C-j prefix. Another mode,
`window-number-meta-mode' enables the use of the M- prefix."
t)
switch-window.el
창에서 큰 숫자 를 제공하는 다른 대안 모드 가 있습니다 ... (숫자 숫자로 창을 전환하고 되돌립니다.)
(출처 : tapoueh.org )
여러 개의 emacs 창 (> 3)을 많이 사용하고 몇 가지 키 입력을 저장하고 제출할 파일에 추가하면 더 나을 것입니다.
(defun frame-bck()
(interactive)
(other-window-or-frame -1)
)
(define-key (current-global-map) (kbd "M-o") 'other-window-or-frame)
(define-key (current-global-map) (kbd "M-O") 'frame-bck)
이제 Mo로 창문을 빠르게 순환하십시오.
대답이 있다고 대답하고 다음과 같이 대답합니다.
(defun prev-window ()
(interactive)
(other-window -1))
(define-key global-map (kbd "C-x p") 'prev-window)
@Nate의 아이디어를 기반으로하지만 창 사이의 역방향 순환을 지원 약간 수정했습니다.
;; Windows Cycling
(defun windmove-up-cycle()
(interactive)
(condition-case nil (windmove-up)
(error (condition-case nil (windmove-down)
(error (condition-case nil (windmove-right) (error (condition-case nil (windmove-left) (error (windmove-up))))))))))
(defun windmove-down-cycle()
(interactive)
(condition-case nil (windmove-down)
(error (condition-case nil (windmove-up)
(error (condition-case nil (windmove-left) (error (condition-case nil (windmove-right) (error (windmove-down))))))))))
(defun windmove-right-cycle()
(interactive)
(condition-case nil (windmove-right)
(error (condition-case nil (windmove-left)
(error (condition-case nil (windmove-up) (error (condition-case nil (windmove-down) (error (windmove-right))))))))))
(defun windmove-left-cycle()
(interactive)
(condition-case nil (windmove-left)
(error (condition-case nil (windmove-right)
(error (condition-case nil (windmove-down) (error (condition-case nil (windmove-up) (error (windmove-left))))))))))
(global-set-key (kbd "C-x <up>") 'windmove-up-cycle)
(global-set-key (kbd "C-x <down>") 'windmove-down-cycle)
(global-set-key (kbd "C-x <right>") 'windmove-right-cycle)
(global-set-key (kbd "C-x <left>") 'windmove-left-cycle)
@Nate, @aspirin 및 @Troydm의 답변에 추가하기 위해 windmove 명령을 선택한 키 조합에 바인딩하기로 결정한 경우 매우 유용한 추가 기능이 있습니다.
(setq windmove-wrap-around t)
기본 구성을 사용하면 존재하지 않는 창으로 이동하려고 할 때 오류가 발생하여 잠시 후 짜증이납니다. 그러나 windmove-wrap-around가 하나의 경우, 예를 들어 프레임 하단에서 벗어나려고하면 대신 프레임의 맨 위 창을 선택합니다. 이것은 당신에게 더 많은 인 행동 일 수 있습니다.
M-n
그리고 M-p
그들 유사하기 때문에, 나에게 가장 의미가 있습니다 C-n
( 다음 라인 ) 및 C-p
( 이전 라인 ) :
(define-key global-map (kbd "M-p") 'previous-multiframe-window)
(define-key global-map (kbd "M-n") 'other-window)
네이트의 대답을 참조, 나는이 (가) 교체 arrow keys
전통적인를 사용하는 p
것을 위해 up
, n
가는을 위해 down
, f
예정 위해 right
및 b
진행을 위해 left
. 나는 또한 기본 이동 키 Ctrl
와 같이 Super
키로 대체했습니다 C-p, C-n, C-f and C-b
. 이 조합을 M
사용하면 각 키 입력 후 하나씩 이동하는 대신 문자와 줄을 건너 뛸 수 있습니다. 따라서 Super
키는 쉬운 키 바인딩을 유지하는 최선의 선택이라고 느꼈습니다. 또한 이제 더 이상 홈 로우에서 손을 떼지 않아도됩니다!
(global-set-key (kbd "s-p") `windmove-up)
(global-set-key (kbd "s-n") `windmove-down)
(global-set-key (kbd "s-f") `windmove-right)
(global-set-key (kbd "s-b") `windmove-left)
도움이 되었기를 바랍니다.
(global-unset-key (kbd "M-j"))
(global-unset-key (kbd "M-k"))
(global-set-key (kbd "M-j") (lambda () (interactive) (other-window 1)))
(global-set-key (kbd "M-k") (lambda () (interactive) (other-window -1)))
altj그리고 altk당신의 보이는 것과 버퍼대로 순환됩니다. 정확히 앞뒤로.
M-를 사용하여 창을 전환 할 수있는 패키지가 이미 있습니다. 이 웹 사이트를 확인하십시오 . 이것을 초기화 파일에 추가하십시오.
(require 'windmove)
(windmove-default-keybindings 'meta) ;; or use 'super to use windows key instead alt
(global-set-key (kbd "C-x a") 'ace-swap-window)
(global-set-key (kbd "C-x q") 'ace-select-window)
download ace-window from the melpa repo if you don't know how to do that
put this in your .emacs file if you don't have one create it
(package-initialize)
(require 'package)
(add-to-list 'package-archives '("melpa" , "http://melpa.org/packages/"))
(package-initialize)
then "m-x list-packages"
참고 URL : https://stackoverflow.com/questions/91071/emacs-switch-to-previous-window
'IT' 카테고리의 다른 글
AppCompatActivity에서 기호 ViewModelProviders를 확인할 수 없습니다. (0) | 2020.08.31 |
---|---|
Fragments에서 setArguments () 및 getArguments () 메서드를 사용하는 방법은 무엇입니까? (0) | 2020.08.31 |
JavaScript는 유형이 지정되지 않은 언어입니까? (0) | 2020.08.31 |
목록에있는 개체 수 계산 (0) | 2020.08.31 |
Apple의 Swift에서 노드를 부동으로 변환 (0) | 2020.08.31 |