[Emacs] 윈도우 관련 커맨드
Emacs에서 윈도우 생성/닫기/크기조절/포커스 이동에 대한 커맨드와 관련 정보를 소개한다. 아래는 기본적으로 제공되는 단축키 및 기능 중 자주 쓸 만한 것 들이다.
창을 닫거나 나누는 것은 자주 쓰이지 않기 때문에 귀찮지는 않지만, 창을 이동하는 키는 자주 쓰일 수 있어서 단축키가 좀 귀찮은 편이다. 이럴 때는 좀 더 단순한 단축키에 바인드 시키는 것이 편할 수도 있다.
other-window-reverse 함수 정의 내용에서도 볼 수 있지만 other-window 에 인자로 -1을 줘서 방향을 반대로 할 수 있다는 점을 응용한 코드다.
더 단순히 창이동을 할 수 있는 방법이 있다. 다음 설정을 추가해서 실행시켜 보자.
이 설정을 수동으로 정의할 수도 있는데 windmove-로 시작하는 함수들을 활용하면 가능하다.
참고로 windmove- 류 함수들은 해당 방향에 창이 없으면 진행되지 않는다. 즉, 순환기능이 없다는 점. other-window 를 이용하는 경우는 끝의 창에서 한번 더 실행하면 다시 처음으로 순환된다는 점이 다르다는 의미다.
C-x 1
: 다른 창 모두 닫기 (즉 현재창을 최대화)C-x 2
: 현재창을 세로로 나누기C-x 3
: 현재창을 가로로 나누기C-x o
: 다른 창으로 이동(other-window)- 정보표시줄 좌클릭 후 드래그: 해당 창의 세로 크기 조절
- 정보표시줄 우클릭: 해당 창을 닫는다.
창을 닫거나 나누는 것은 자주 쓰이지 않기 때문에 귀찮지는 않지만, 창을 이동하는 키는 자주 쓰일 수 있어서 단축키가 좀 귀찮은 편이다. 이럴 때는 좀 더 단순한 단축키에 바인드 시키는 것이 편할 수도 있다.
C-x o
키로 실행되는 other-window 함수는 한쪽 방향으로만 포커스를 이동하기 때문에 윈도우가 많은 상태에서 잘못 지나쳐 오면 굉장히 귀찮다. 따라서 반대 방향으로 이동하는 방법도 만들어 보자.(defun other-window-reverse () (interactive) (other-window -1)) (global-set-key (kbd "C->") 'other-window) (global-set-key (kbd "C-<") 'other-window-reverse)
C->
는 기존 C-x o
와 동일하게 좌에서 우로, 위에서 아래 창으로 이동한다. 반대로 C-<
는 우에서 좌로, 아래에서 위 방향의 창으로 이동한다.other-window-reverse 함수 정의 내용에서도 볼 수 있지만 other-window 에 인자로 -1을 줘서 방향을 반대로 할 수 있다는 점을 응용한 코드다.
더 단순히 창이동을 할 수 있는 방법이 있다. 다음 설정을 추가해서 실행시켜 보자.
(windmove-default-keybindings 'meta)이 후 Meta(Alt)키를 누른 채 방향키를 누르면 해당 방향의 윈도우로 이동할 수 있다.
이 설정을 수동으로 정의할 수도 있는데 windmove-로 시작하는 함수들을 활용하면 가능하다.
windmove-up
windmove-down
windmove-left
windmove-right
참고로 windmove- 류 함수들은 해당 방향에 창이 없으면 진행되지 않는다. 즉, 순환기능이 없다는 점. other-window 를 이용하는 경우는 끝의 창에서 한번 더 실행하면 다시 처음으로 순환된다는 점이 다르다는 의미다.
댓글