창 사이를 빠르게 전환하는 방법? 어떻게합니까? 나는 종종 여러 개의

창 사이를 빠르게 전환하려면 어떻게합니까?

나는 종종 여러 개의 창이 열려 있고 그들 사이를 전환해야합니다. 지금, 나는 C-x o내가 원하는 것을 얻는데 사용 합니다. 더 효율적인 워크 플로가 있습니까?



답변

나는 분명히 이것을 위해 에이스 윈도우 를 선호 합니다. 보이는 창과 프레임 사이를 전환 할 수 있습니다. MELPA에 있으며 빠르게 설치할 수 있습니다. 남은 것은 바인딩하는 것입니다.

(global-set-key (kbd "C-x o") 'ace-window)

또는 창 전환은 일반적인 작업이므로 더 짧은 키 코드를 사용할 수도 있습니다.

(global-set-key (kbd "M-p") 'ace-window)

요약 ace-window

의 대체품입니다 other-window. 후자와는 달리 ace-window창을 선택하기 위해 두 번 이상 호출 할 필요가 없습니다. 한 번의 호출에서 원하는 창을 선택합니다 (여러 프레임에 걸쳐 가능).

창 전환 외에도 ace-window더 많은 작업을 수행 할 수 있습니다 (창 삭제 또는 교체 등), README를 참조하십시오 .


답변

한 가지 방법은을 사용하는 것 windmove입니다. 기본 키 바인딩을 사용하면 현재 활성화 된 키 옆에있는 창으로 전환 할 수 있습니다.

Emacs에 내장되어 있으므로 따로 설치할 필요가 없습니다. init 파일에서 다음과 같은 최소 설정으로 활성화하십시오.

(windmove-default-keybindings)

그런 다음 (직관적으로 사용되는 화살표 당신이 이동하는 방향을 정의) 다음 키를 사용하여 이웃 창으로 전환 할 수 있습니다 : S-<left>, S-<right>, S-<up>, S-<down>.


대신 다른 수정자를 사용 shift하려면을에 인수로 제공 할 수 있습니다 windmove-default-keybindings. 예를 들면 다음과 같습니다.

(windmove-default-keybindings 'meta)

또는

(windmove-default-keybindings 'control)

Emacs Wiki 에서 더 많은 정보 .


답변

other-window입력하기 쉬운 키 시퀀스에 바인딩 할 수 있습니다 .

예를 들어, 나는 한 C-.바인딩 other-windowC-,이전 창으로 이동 수밖에.

(global-set-key (kbd "C-.") #'other-window)
(global-set-key (kbd "C-,") #'prev-window)

(defun prev-window ()
  (interactive)
  (other-window -1))

이것은 여러 창을 이동할 때 특히 유용합니다. Control을 누른 상태에서 하나의 버튼 만 누르면 다음 창으로 이동합니다. 한 번에 세 번 누르는 것보다 훨씬 쉽습니다.


답변

window-numbering.el!

특정 창을 전환하기 위해 핫키 “, 1”, “, 2”, “, 3″을 할당합니다 (악한 모드를 사용함에 유의하십시오)

또한 모드 줄에 창 번호를 PINK 색상으로 밑줄로 표시합니다.

무시할 수없는 시각적 힌트입니다.

그건 빠른 방법 창을 전환 할 수 있습니다.

https://github.com/redguardtoo/emacs.d/blob/master/lisp/init-evil.elhttps://github.com/redguardtoo/emacs.d/blob/master/lisp/init-modeline을 확인 하십시오. .el 내 설정입니다.

Sylvain Benner는 스페이스 맥에서 내 아이디어를 채택했지만 키 바인딩은 다릅니다 . 따라서 스페이스 맥을 사용하면 가장 빠른 솔루션을 즉시 얻을 수 있습니다.


답변

추가 애드온을 사용하지 않아도 C-x o선택적 접두사를 계속 사용 하여 많은 창을 건너 뛸 수 있습니다. 예 : C-u 1 C-x o순서대로 다음 창으로 이동합니다 (즉, 일반으로 얻을 수있는 것 C-x o). C-u 2 C-x o두 개의 창으로 넘어 C-u 3 C-x o가고 세 개의 창으로 넘어갑니다.

other-windowdocstring 에서 발췌 (함수 C-x o:

COUNT는 선택하기 전에 선택한 창부터 시작하여 건너 뛸 창 수를 지정합니다. COUNT가 양수이면 앞으로 COUNT 개의 창을 건너 뜁니다. COUNT가 음수이면 -COUNT 개의 창을 뒤로 건너 뜁니다. COUNT 0은 창을 건너 뛰지 않음을 의미하므로 선택한 창을 선택하십시오. 대화식 호출에서 COUNT는 숫자 접두사 인수입니다. nil을 반환합니다.


답변

어떤 사람들은 편집자 브리프 (Underware라는 회사가 충분히 생산 한)를 기억할 것입니다.

보이는 창 사이를 전환하는 깔끔한 방법이있었습니다. M- 화살표는 화살표 키의 방향에 따라 커서를 창으로 직접 이동시킵니다.

그래서, 매핑 winmove-left, winmove-right, winmove-upwinmove-down에 함수 M-left, M-right, M-upM-down내 이맥스 파일의 키로는 다음을 –

(global-set-key [M-left] 'windmove-left)          ; move to left window
(global-set-key [M-right] 'windmove-right)        ; move to right window
(global-set-key [M-up] 'windmove-up)              ; move to upper window
(global-set-key [M-down] 'windmove-down)          ; move to lower window

이제 구성이 어수선한 지에 관계없이 창 사이를 쉽게 이동할 수 있습니다. 요즘에는 디스플레이 크기에 따라 상당히 어수선해질 수 있습니다 …


답변

당신이 사용하는 경우 차가워 요 다음 C-x o수 있습니다 당신은에 의해 창을 선택 이름 (또는 자전거로)을.

  • 어떤 접두사 인수로, C-x o평소와 같이 동일 other-window프레임이 인 경우에 하나의 창을 가지고 있지 않는 other-frame.

  • 접두사 arg 를 사용하면 이름 또는 사이클별로 창이나 프레임을 탐색 할 수 C-x o있는 다중 명령 이 있습니다. 창을 탐색하려면 다중 명령을 사용합니다 icicle-select-window. 프레임 간 탐색은을 사용합니다 icicle-select-frame.

사용되는 탐색은 접두사 arg에 따라 다릅니다.

  • 접두사 제로 인수 (예 🙂 C-0: 선택한 프레임에 여러 개의
    icicle-select-window창이있는 경우 후보 와 같은 프레임에 창이 있습니다. 그렇지 않으면 (단일 창 프레임), 이것은입니다 icicle-select-frame.

  • C-u: 선택한 프레임에 여러 개의 창이있는 경우
    icicle-select-window모든 보이는 프레임의 창을 후보로 사용하는 창입니다 . 그렇지 않으면 이것은입니다 icicle-select-frame.

  • C-u C-u: icicle-select-window, 모든 프레임의 윈도우를 후보 (아이콘 화되거나 숨겨진 프레임 포함)로 사용합니다.

항상 Icicles 에서와 같이 (a) 완성 , 텍스트를 입력하여 일치하는 후보 세트 (이 경우 창 또는 프레임 이름)를 좁히고 (b) 사이클링 (매칭 후보 중)으로 결합 할 수 있습니다.