2012-04-25 10 views
9

방금 ​​EMACS를 사용하기 시작했습니다.emacs에서 프레임과 창 사이의 차이

그래서이 질문을했습니다. 창과 프레임의 차이점은 무엇입니까?

나의 이해는 다음과 같습니다 당신이 프레임없는 윈도우를 종료하기 위해 'Q'를 누르면

  1. .
  2. 프레임은 일련의 창으로 구성되어 있습니다.
  3. 프레임에는 모든 버퍼의 하위 집합이 포함됩니다.
  4. 프레임은 프로젝트의 개념과 유사하지만 창은 각 파일에 해당합니다.

3과 4는 정확하지 않습니다. 프레임간에 점프를 시도 할 때 모든 버퍼가 여전히 보입니다.

내 이해가 맞습니까? 아니면 올바른 방식으로하지 않습니까?

다른 프로젝트에 버퍼를 구성하기 위해 EMACS 용 함수와 같은 프로젝트가 있으므로 버퍼간에 점프 할 때 버퍼가 해당 프로젝트에만 국한되어 있다는 것을 알 수 있습니까?

프레임과 창과 관련된 EMAC의 프로젝트 개념에 대해 더 많이 이야기 할 수 있습니까?

+0

나는 http : // emacsmovies에서 이러한 것들에 대한 스크린 캐스트를 가지고있다.org/blog/2012/03/24/terminology/ –

+0

프로젝트에 대한 별도의 질문을하는 것이 좋습니다. 프레임/창 차이에서 너무 멀리 떨어져있어 여기에 속합니다. – cjm

답변

15

이것은 다소 혼란 스럽지만 역사 때문입니다. 이맥스는 GUI가 보편화되기 전에 text terminals 시절에 처음 만들어졌습니다. 당신이 가진 모든 것은 monospaced 텍스트 라인이었습니다. 보통 80 열에서 24 행까지였습니다. Emacs는 화면을 여러 개의 창으로 나눌 수있어 한 번에 두 개 이상의 파일을 볼 수있었습니다.

그런 다음 그래픽 터미널과 GUI가 나타나며 "창"은 GUI 종류를 의미합니다. 그러나 Emacs는 이름에 "window"라는 수십 개의 함수와 변수가 있었는데, 분할 화면 유형의 창을 처리했습니다. 이 함수들의 이름을 바꾸면 그것들을 사용하는 Emacs Lisp 코드가 모두 파괴 될 것이다. 따라서 Emacs가 GUI 인터페이스를 얻었을 때 디자이너는 "GUI 창"을 의미하는 새로운 용어를 쉽게 찾고 "창 스타일"을 "이전 스타일의 Emac 창"으로 유지하는 것이 더 쉬울 것이라고 결정했습니다. 새로운 용어는 "프레임"이었습니다 (프레임이 윈도우를 둘러싸고 있기 때문에).

그래서 Emacs가 "프레임"에 대해 말하면 다른 프로그램이 "창"이라고 부르는 것과 같은 의미입니다. Emacs에서 프레임은 기본적으로 요구에 따라 크기를 조정할 수있는 터미널 에뮬레이터입니다. 각 프레임은 텍스트 터미널에서 실행되는 Emacs와 거의 비슷하게 작동합니다. 프레임은 하나 이상의 구식 Emacs 창을 포함 할 수 있습니다.

그러나, 하나의 이맥스 프로세스의 모든 프레임이 링크됩니다. 모든 버퍼는 모든 프레임의 창에 표시 될 수 있으며 동일한 버퍼를 여러 창 및/또는 프레임에 동시에 표시 할 수 있습니다.

자세한 내용은 the chapter of the Emacs manual on "Frames"에서 확인할 수 있습니다.

그래서 (3)이 올바르지 않습니다. 모든 버퍼는 모든 프레임에서 사용할 수 있습니다. (4)도 실제로 올바르지 않습니다. 얼마나 많은 프레임 및/또는 창을 사용하고 싶은지는 사용자에게 달려 있습니다. 개인적으로, 나는 보통 1 개 또는 2 개의 윈도우가있는 1 개의 프레임을 사용합니다. 1 개 또는 2 개의 다른 파일에서 작업하는 동안 하나의 파일을 표시하는 데 더 많은 공간을 원하면 두 번째 프레임을 사용하는 경우가 있습니다.

+0

이것은 프레임과 윈도우의 개념을 이해하는 데 도움이되었습니다. 감사. – zinking