GNU 이맥스
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
GNU 이맥스는 1976년 데이비드 A. 문과 가이 L. 스틸 주니어에 의해 TECO 편집기를 위한 매크로 집합으로 시작되었으며, 1984년 리처드 스톨먼이 Gosling Emacs를 대체하기 위해 자유 소프트웨어로 개발을 시작했다. C 언어와 Emacs Lisp를 사용하며, 1985년 첫 공개 릴리스 이후 유닉스 운영 체제로 이식되어 널리 사용되었다. 1999년까지 '성당' 개발 스타일을 따랐으나 이후 공개 개발 방식으로 전환되었으며, 현재는 Git을 사용한다. 다양한 기능과 확장성을 제공하며, 국제화 지원, 텍스트 편집, 프로그래밍, 파일 관리 등 다양한 용도로 사용된다.
더 읽어볼만한 페이지
- 헥사 편집기 - Vim
Vim은 브람 물라나르가 개발하여 1991년 처음 공개한 텍스트 편집기로, vi 편집기의 확장판이며 프로그램 소스 코드 편집에 유용한 다양한 기능을 제공한다. - 헥사 편집기 - 이맥스
이맥스는 리처드 스톨만이 개발한 텍스트 편집기로, GNU Emacs는 Emacs Lisp를 설정 언어로 사용하며 다양한 운영체제에서 사용 가능하고 많은 기능과 사용자 정의 옵션을 제공한다. - 리스프로 작성된 자유 소프트웨어 - 맥시마 (소프트웨어)
맥시마는 MIT에서 개발된 Macsyma를 기반으로 GPL 라이선스 하에 공개된 오픈 소스 컴퓨터 대수 시스템으로, 기호 연산, 임의 정밀도 연산, 프로그래밍 기능 등을 제공하며 프로그래밍 교육 및 컴퓨터 대수 교육용으로 활용 가능하다. - 리스프로 작성된 자유 소프트웨어 - 리듀스 (컴퓨터 대수학 시스템)
REDUCE는 1960년대 앤서니 C. 허언에 의해 개발된 컴퓨터 대수학 시스템으로, Standard LISP로 구현되었고, ALGOL과 유사한 구문인 RLISP를 사용하며, 다양한 운영 체제에서 사용 가능하고, 2008년 오픈 소스화되어 수정된 BSD 라이선스에 따라 배포된다. - 이맥스 - 리처드 스톨먼
리처드 스톨먼은 자유 소프트웨어 운동의 창시자이자 GNU 프로젝트 설립자로서, Emacs 편집기 개발, GNU 운영 체제 개발, 자유 소프트웨어 재단 설립, 카피레프트 개념 대중화, GNU 일반 공중 사용 허가서 개발 등 자유 소프트웨어 운동을 이끌었으나, 논쟁적인 발언으로 FSF 회장직에서 사임 후 복귀하기도 한 미국의 컴퓨터 프로그래머, 해커, 사회 운동가이다. - 이맥스 - 제임스 고슬링
제임스 고슬링은 자바 프로그래밍 언어 개발자로 가장 잘 알려진 캐나다 출신의 컴퓨터 과학자로, 썬 마이크로시스템즈 등 여러 회사를 거쳐 현재는 은퇴 후 다양한 기업의 고문 및 이사로 활동하고 있다.
GNU 이맥스 - [IT 관련 정보]에 관한 문서 | |
---|---|
기본 정보 | |
![]() | |
![]() | |
개발자 | GNU 프로젝트 |
발표일 | 1985년 3월 20일 |
최신 릴리스 버전 | 29.2 |
최신 릴리스 날짜 | 2023년 10월 28일 |
최신 미리보기 버전 | 30.0.50 |
최신 미리보기 날짜 | 2024년 9월 15일 |
프로그래밍 언어 | Emacs Lisp, C |
운영체제 | 유닉스 계열 (GNU, Linux, macOS, BSD, Solaris), Windows, MS-DOS |
플랫폼 | 크로스 플랫폼 |
언어 | 영어 |
장르 | 텍스트 편집기 |
라이선스 | GPL-3.0-or-later |
웹사이트 | GNU Emacs 공식 웹사이트 |
개발 | |
작성자 | 리처드 스톨먼 |
2. 역사
1976년 데이비드 A. 문과 가이 L. 스틸 주니어는 TECO 편집기 매크로 집합으로 EMACS를 작성했다.[9] 1984년 리처드 스톨만은 독점 Gosling Emacs의 자유 소프트웨어 대안을 만들기 위해 GNU Emacs 작업을 시작했다. GNU Emacs는 초기에 Gosling Emacs를 기반으로 했지만, 스톨만이 Mocklisp 인터프리터를 실제 Lisp 인터프리터로 바꾸면서 거의 모든 코드를 다시 작성해야 했다. 이는 초기 GNU 프로젝트에서 출시된 첫 번째 프로그램이었다.
GNU Emacs는 C 언어로 작성되었으며, 확장 언어로 Emacs Lisp를 제공한다(Emacs Lisp도 C로 구현됨). 1985년 3월 20일 버전 13이 처음 공개되었고,[9] 1985년 후반에 버전 15.34가 널리 배포되었다. 초기 GNU Emacs 버전은 "1.x.x"로 번호가 매겨졌는데, 첫 번째 숫자는 C 코어 버전을 나타냈다. 버전 1.12 이후 주 버전 번호 "1"은 변경되지 않을 것으로 예상되어 삭제되었고, 버전은 "1"에서 "13"으로 건너뛰었다. 이후 사용자 사이트 변경 사항을 나타내는 세 번째 버전 번호가 추가되었다.[9] 현재 번호 체계에서는 두 부분으로 된 숫자가 릴리스 버전을, 세 부분으로 된 숫자가 개발 버전을 나타낸다.[10]
GNU Emacs는 유닉스로 이식되면서 확장 언어로 완전한 Lisp를 제공하는 등 Gosling Emacs보다 더 많은 기능을 제공하여, 곧 ''사실상'' 유닉스 Emacs 편집기가 되었다. 1986년 마커스 헤스는 GNU Emacs 이메일 하위 시스템의 보안 결함을 이용해 유닉스 컴퓨터에 슈퍼유저 권한으로 접근했다.[11]
1999년까지 GNU Emacs 개발 참여는 제한적이었고, ''성당과 시장''에서 "성당" 개발 방식의 예로 사용되었다. 이후 공개 개발 메일링 리스트와 익명 CVS 접근 방식을 채택했다. 2008년까지 단일 CVS 트렁크에서 개발되었으며, 현재는 Git[12] DVCS를 사용한다.
리처드 스톨만은 GNU Emacs의 주요 관리자로 남아있지만, 때때로 이 역할에서 물러났다. 2008년부터 스테판 모니에와 쳉 이동이 유지 관리를 감독했다.[13] 2015년 9월 21일, 모니에는 Emacs 25 기능 동결과 함께 관리자에서 물러날 것이라고 발표했다.[14] 2015년 11월 5일, 존 위글리가 새 관리자로 발표되었다.[15] 위글리는 2016년 7월 엘리 자레츠키와,[16] 2020년 9월 라스 잉게브릭센과 합류했다.[18]
2. 1. 초기 역사
리처드 스톨먼은 1984년에 독점 소프트웨어인 Gosling Emacs를 대체할 자유 소프트웨어 GNU Emacs 개발을 시작했다. GNU Emacs는 초기에는 Gosling Emacs를 기반으로 제작되었으나, 스톨먼이 Gosling Emacs의 Mocklisp 인터프리터를 실제 LISP 인터프리터로 교체하면서 대부분의 코드를 다시 작성해야 했다. GNU Emacs는 초기 GNU 프로젝트에서 발표된 첫 번째 프로그램이었다. GNU Emacs는 C 언어로 작성되었으며, Emacs Lisp (ELisp)를 확장 언어로 제공한다. Emacs Lisp 또한 C 언어로 구현되었다. 1985년 3월 20일, 최초의 공식 버전인 13이 출시되었고,[9] 1985년에 널리 배포된 첫 버전은 15.34였다. 초기 GNU Emacs의 버전 번호는 "1.x.x"와 같이 첫 번째 숫자가 C 코어 버전을 나타내는 방식이었으나, 버전 1.12 이후 C 코어의 주 버전 번호가 변경되지 않을 것으로 예상되어 앞의 1을 제거했다. 이로 인해 버전 번호는 1에서 13으로 변경되었다. 이후 사용자 사이트의 변경 사항을 나타내기 위해 세 번째 버전 번호가 추가되었다.[9] 현재 버전 표기 방식에서는 두 번째 숫자가 릴리스 버전을, 세 번째 숫자가 개발 버전을 의미한다.[10]
GNU Emacs는 이후 UNIX로 이식되었으며, Gosling Emacs보다 더 많은 기능을 제공했는데, 특히 확장 언어로 완전한 기능을 갖춘 LISP를 제공한다는 점이 주목할 만하다. 결과적으로 GNU Emacs는 Gosling Emacs를 대체하며 UNIX Emacs 편집기의 사실상 표준이 되었다. 마커스 헤스는 1986년 해킹 사건에서 GNU Emacs 이메일 하위 시스템의 보안 취약점을 이용하여 UNIX 컴퓨터에서 슈퍼유저 권한을 획득했다.[11]
2. 2. 발전과 분기
GNU Emacs는 1984년 리처드 스톨만이 독점 소프트웨어였던 Gosling Emacs를 대체하기 위해 개발을 시작했다. 초기에는 Gosling Emacs를 기반으로 했으나, 스톨만이 Mocklisp 인터프리터를 실제 Lisp 인터프리터로 교체하면서 대부분의 코드를 다시 작성해야 했다. GNU Emacs는 C로 작성되었으며, 확장 언어로 Emacs Lisp를 제공한다. 1985년 3월 20일, 버전 13이 최초로 공개되었고, 널리 배포된 첫 버전은 15.34였다. 초기 버전 번호는 C 코어 버전을 나타내는 "1.x.x" 형태였으나, 1.12 이후 "1"이 삭제되고 사용자 사이트 변경 사항을 나타내는 세 번째 번호가 추가되었다.[9] 현재는 두 부분으로 된 숫자가 릴리스 버전, 세 부분으로 된 숫자가 개발 버전을 나타낸다.[10]GNU Emacs는 유닉스로 이식되면서 확장 언어로 완전한 기능을 갖춘 Lisp를 제공하는 등 Gosling Emacs보다 더 많은 기능을 제공하여, ''사실상'' 유닉스 Emacs 편집기의 표준이 되었다. 1986년에는 마커스 헤스가 GNU Emacs의 이메일 하위 시스템 보안 결함을 이용해 유닉스 컴퓨터에 슈퍼유저 권한으로 접근한 사건이 있었다.[11]
1999년까지 GNU Emacs 개발 참여는 제한적이었으나, 이후 공개 개발 메일링 리스트와 익명 CVS 접근 방식을 채택했다. 2008년까지 단일 CVS 트렁크에서 개발이 진행되었고, 현재는 Git 분산 버전 관리 시스템을 사용한다.[12]
리처드 스톨만은 GNU Emacs의 주요 관리자로 남아 있었지만, 스테판 모니에와 쳉 이동이 2008년부터 유지 관리를 감독했다.[13] 2015년 9월 21일, 모니에는 Emacs 25의 기능 동결과 함께 관리자에서 물러날 것이라고 발표했고,[14] 2015년 11월 5일, 존 위글리가 새로운 관리자로 발표되었다.[15] 위글리는 2016년 7월에 엘리 자레츠키와 합류했고,[16] 2020년 9월에는 라스 잉게브릭센과 합류했다.[18]

주요 포크(fork) 프로젝트:
- XEmacs: 1991년 제이미 자윈스키 등이 GNU Emacs 19 초기 버전을 기반으로 개발한 Lucid Emacs에서 시작되었다. 자유 소프트웨어 개발에서 가장 잘 알려진 분기 중 하나로, 코드베이스가 분리된 후 별도 개발 팀이 병합을 중단했다.[52] Lucid Emacs는 XEmacs로 이름이 변경되었으나,[53] 개발이 둔화되어 2009년 1월 안정 버전 21.4.22 출시 이후 GNU Emacs가 XEmacs의 많은 기능을 구현하면서 일부 사용자들이 XEmacs의 종말을 선언하기도 했다.[54]
- 메도우: Microsoft Windows용 일본어 버전이다.[55]
- SXEmacs: 스티브 영스가 XEmacs를 포크한 것이다.[56]
- 아쿠아맥스(Aquamacs): 애플 매킨토시 사용자 인터페이스와의 통합에 초점을 맞춘 버전이다.
- 레맥스(Remacs): GNU Emacs를 러스트 프로그래밍 언어로 포팅한 것으로, 2023년 현재 미완성이며 더 이상 유지 관리되지 않는다.[57]
2. 3. 개발 방식의 변화
1999년까지 GNU Emacs 개발은 사용자들이 패치나 Elisp 코드를 net.emacs 뉴스 그룹에 제출하는 방식으로 이루어져 참여가 제한적이었으며, 에릭 레이먼드의 ''성당과 시장''에서 "성당" 개발 방식의 예시로 사용되었다.[12] 이후 프로젝트는 공개 개발 메일링 리스트와 익명 CVS 접근 방식을 채택했다. 2008년까지 단일 CVS 트렁크에서 개발이 진행되었으며, 현재는 Git[12] DVCS를 사용한다.리처드 스톨만은 GNU Emacs의 주요 관리자로 남아 있었지만, 때때로 이 역할에서 물러나기도 했다. 2008년부터는 스테판 모니에와 쳉 이동이 유지 관리를 감독했다.[13] 2015년 9월 21일, 모니에는 Emacs 25의 기능 동결과 함께 관리자에서 물러날 것이라고 발표했다.[14] 2015년 11월 5일, 오랜 기여자인 존 위글리가 새로운 관리자로 발표되었다.[15]
2. 4. 라이선스 문제
GNU 일반 공중 사용 허가서(GPL)에 따라 C 및 Emacs Lisp 구성 요소를 포함한 Emacs 소스 코드는 자유롭게 검토, 수정 및 재배포할 수 있다.[9]구 버전의 GNU Emacs 문서는 수정된 사본에 특정 텍스트를 포함해야 하는 임시 라이선스로 배포되었다. 예를 들어 GNU Emacs 사용자 매뉴얼에는 GNU Emacs를 얻는 방법과 리처드 스톨만의 에세이 ''GNU 선언''이 포함되었다. 분기가 발생했을 때 이전 GNU Emacs 매뉴얼에서 상속된 XEmacs 매뉴얼도 동일한 라이선스를 가졌다. 최신 버전의 문서는 "불변 섹션"이 있는 GNU 자유 문서 사용 허가서를 사용하며, 동일한 문서를 포함하고 매뉴얼 자체를 ''GNU 매뉴얼''이라고 선언하도록 요구한다.
GNU Emacs의 경우, 다른 많은 GNU 패키지와 마찬가지로 저작권 소유자가 적절한 면책 조항을 실행하거나 저작권 이익을 자유 소프트웨어 재단(FSF)에 양도하는 경우에만 중요한 코드 기여를 허용하는 정책이 유지된다. 코드 줄 수가 10줄 미만인 작은 기여는 이 정책에서 면제된다. 이 정책은 FSF가 소프트웨어의 카피레프트 라이선스가 위반될 경우 법정에서 소프트웨어를 방어할 수 있도록 하기 위해 마련되었다.[104]
2011년, GNU Emacs가 의도한 GPL 정신에 어긋나게 2년 동안 해당 소스 코드 없이 일부 바이너리를 실수로 배포한 사실이 발견되었다.[19][20][21] 리처드 스톨만은 이 사건을 "매우 심각한 실수"라고 묘사했으며,[22] 즉시 수정되었다. FSF는 이러한 바이너리를 배포하여 무의식적으로 GPL을 위반한 다운스트림 재배포자를 고소하지 않았다.
3. 사용법
GNU 이맥스는 화살표 키를 이용해 커서를 이동할 수 있지만, 대부분의 조작은 컨트롤 키, 메타 키(윈도우에서는 주로 Alt 키) 등을 다른 키와 함께 눌러서 수행한다. vi와 달리 편집 모드와 커서 이동 모드를 구분하지 않지만, Emacs에서 vi 조작을 흉내 내는 에뮬레이터(vip-mode, viper-mode)도 존재한다.[109]
Emacs에서는 컨트롤 키와 함께 "a"를 누르는 것을 "C-a", 메타 키와 함께 "a"를 누르는 것을 "M-a"로 표기한다. 키 할당은 대부분 영어 단어의 첫 글자를 따서 만들어졌기 때문에 비교적 쉽게 기억할 수 있다. 예를 들어 커서를 오른쪽, 왼쪽, 위, 아래로 움직이는 조작은 각각 C-f(forward), C-b(backward), C-p(previous), C-n(next)이다.
파일 저장(C-xC-s)과 같이 두 번 이상의 키 조합으로 이루어진 조작도 많다. 키가 할당되지 않은 명령어는 M-x를 누른 다음 명령어를 입력하여 실행할 수 있다. C-h t (영어) 또는 C-h T (번역)를 누르면 튜토리얼을 볼 수 있다.[23]
GUI 환경에서는 키보드 대신 메뉴 바나 툴바를 이용할 수도 있지만, 숙련된 Emacs 사용자들은 키보드 단축키를 선호한다.[109]
모든 편집 명령어는 Emacs Lisp 환경의 함수를 호출한다. 문자 'a'를 입력하면 `self-insert-command` 함수가 호출된다. 일부 명령어는 Ispell (맞춤법 검사), gcc (컴파일) 등 외부 프로그램을 호출하여 결과를 표시한다.[109]
GNU 이맥스는 일반적인 텍스트 편집기와 마찬가지로 키보드의 해당 키로 문자를 삽입하고 화살표 키로 편집 위치를 이동할 수 있다. Esc 키를 누르거나, Control, Meta, Alt, Super 키 중 하나 이상을 일반 키와 함께 눌러 수정 키 입력을 발생시켜 Emacs Lisp 함수를 호출한다. `save-buffer`, `save-buffers-kill-emacs`와 같은 명령은 여러 수정 키 입력을 조합한다.
GNU Emacs는 "하위 프로세스"를 지원하여 Emacs 버퍼와 상호 작용하는 장기 실행 프로세스를 가능하게 한다. shell-mode에서는 각종 프로그래밍 언어용 Read–eval–print loop 모드나 유닉스 셸을 하위 프로세스로 실행한다.
IBM Common User Access 스타일의 키 조합을 선호하는 사용자를 위한 `cua-mode`는 버전 22부터 기본 포함되었다.
이맥스는 텍스트를 버퍼에 저장하며, 버퍼는 화면에 표시하거나 숨길 수 있고, Emacs Lisp 프로그램이나 사용자 인터페이스를 통해 접근할 수 있다.[24] 사용자는 새 버퍼를 만들거나 삭제할 수 있으며, 여러 버퍼를 동시에 열 수 있다. 이맥스는 메모리가 허용하는 한 버퍼 수를 무제한으로 늘릴 수 있다.[25]
GNU 이맥스는 "메이저 모드"와 "마이너 모드"를 통해 다양한 종류의 텍스트 편집과 사용자 정의를 지원한다.[30]
GNU 이맥스는 이맥스 리스프 인터프리터로 사용할 수 있는 배치 모드를 지원한다. 배치 모드에서는 사용자 구성이 로드되지 않으며, C-c 및 C-z는 프로그램을 종료하거나 실행을 중단시킨다.
3. 1. 기본 조작
GNU 이맥스는 화살표 키를 이용한 커서 이동 외에도, 컨트롤 키, 메타 키(윈도우에서는 주로 Alt 키) 등을 다른 키와 함께 눌러 대부분의 기능을 조작한다. vi와 달리 편집 모드와 커서 이동 모드를 구분하지 않지만, vi 조작을 에뮬레이트하는 모드(vip-mode, viper-mode)도 존재한다.이맥스에서는 컨트롤 키와 함께 "a"를 누르는 것을 "C-a", 메타 키와 함께 "a"를 누르는 것을 "M-a"로 표기한다. 키 할당은 영어 단어의 머리글자를 따르는 경우가 많아 기억하기 쉽다. 예를 들어, 커서 이동은 C-f(forward, 오른쪽), C-b(backward, 왼쪽), C-p(previous, 위), C-n(next, 아래)로 수행한다.
파일 저장은 "C-xC-s" (컨트롤 키를 누른 채 x, s를 누름)와 같이 두 번 이상의 키 조합으로 실행하는 명령도 많다. M-x를 누른 후 명령어를 입력하여 키가 할당되지 않은 명령어를 실행할 수도 있다.
C-h t (영어) 또는 C-h T (번역)를 누르면 튜토리얼이 표시되어 조작법을 익힐 수 있다.
GUI 환경에서는 메뉴 바나 툴바를 사용할 수도 있지만, 숙련된 사용자들은 키보드 단축키를 선호한다.
편집 명령어는 실제로는 Emacs Lisp 환경의 함수를 호출한다. 예를 들어, 문자 "a"를 입력하면 `self-insert-command` 함수가 호출된다. 일부 명령어는 외부 프로그램(Ispell을 이용한 맞춤법 검사, gcc을 이용한 컴파일 등)을 호출하여 결과를 이맥스에 표시한다.
GNU 이맥스는 일반적인 편집 모드에서는 다른 텍스트 편집기와 동일하게 작동한다. 즉, 사용자는 키보드의 해당 키로 문자를 삽입할 수 있으며 화살표 키를 사용하여 편집 위치를 이동할 수 있다. Esc 키 시퀀스를 입력하거나, Control 키, Meta 키, Alt 키, Super 키 중 하나 이상을 일반 키와 동시에 눌러서 수정 키 스트로크를 발생시켜 Emacs Lisp 환경에서 함수를 호출할 수 있다. `save-buffer`나 `save-buffers-kill-emacs`와 같은 명령에서는 여러 수정 키 스트로크를 조합한다.
IBM Common User Access 스타일의 키 조합을 선호하는 사용자를 위한 `cua-mode`는 버전 22부터 기본 포함되었다.
이맥스는 텍스트를 버퍼라는 자료 구조에 저장한다. 버퍼는 화면에 표시하거나 숨길 수 있으며, Emacs Lisp 프로그램이나 사용자 인터페이스를 통해 모든 버퍼 기능에 접근할 수 있다.[110] 사용자는 새 버퍼를 만들거나 불필요한 버퍼를 삭제할 수 있으며, 여러 버퍼를 동시에 열어둘 수 있다. 이맥스는 하드웨어 메모리가 허용하는 한 버퍼 수를 무제한으로 늘릴 수 있다. 숙련된 사용자는 다양한 유형의 열린 버퍼를 수백 개씩 보관하기도 한다.[111]
버퍼에는 텍스트 파일에서 읽어온 텍스트 버퍼와 같이 사용자가 편집하고 저장할 수 있는 버퍼가 있다. 이러한 버퍼를 파일을 "방문하고 있는" 버퍼라고 한다. 버퍼는 Emacs 명령어 출력, Dired디렉터리 목록, "도움말" 라이브러리 문서, 알림 메시지 등도 표시한다. GNU Emacs는 이러한 알림을 미니 버퍼에 간결하게 표시하고, `*Messages*` 버퍼에 최신 기록을 보관한다. 버퍼는 셸이나 REPL 등 외부 프로세스의 입출력 영역으로도 사용된다. Emacs 자체에서 생성하는 버퍼 이름은 보통 별표(*)로 시작하고 끝난다. 열려 있는 버퍼 목록 자체도 이러한 유형의 버퍼에 표시된다.
대부분의 Emacs 키 시퀀스는 모든 버퍼에서 작동한다. 예를 들어 Ctrl-s (`isearch`) 기능은 Dired 버퍼에서 파일을 검색하는 데 사용할 수 있으며, 파일 목록을 텍스트 파일로 저장할 수도 있다. Dired 버퍼를 쓰기 가능 모드로 전환하면 파일명과 속성을 텍스트로 편집할 수 있으며, Dired 버퍼를 저장하면 변경 사항이 파일 시스템에 기록된다. 이를 통해 여러 파일의 이름을 한 번에 변경할 수 있다. GNU Emacs는 버퍼에 이미지 파일도 표시하며, 바이너리 세이프이고 8비트 클린이다.[112]
Emacs는 편집 영역을 "윈도우"로 분할할 수 있다. Emacs의 "윈도우"는 다른 시스템의 "프레임"이나 "페인"과 유사하다. 각 윈도우에는 "모드 라인"이라는 상태 표시줄이 있으며, 기본적으로 윈도우 하단에 표시된다. Emacs 윈도우는 텍스트 터미널과 그래픽 모드 모두에서 사용할 수 있으며, 여러 버퍼나 한 버퍼의 여러 부분을 동시에 볼 수 있게 해준다. 예를 들어, Dired 버퍼와 함께 파일 버퍼를 표시하거나, 소스 코드와 컴파일 결과를 동시에 표시하거나, 헤더 파일과 구현 파일을 함께 편집하는 등 다양하게 활용할 수 있다. `follow-mode`를 사용하면 한 파일을 여러 윈도우에 나눠 표시하고 스크롤 시 함께 갱신되도록 할 수 있다. Emacs 윈도우는 타일형으로 겹치지 않는다. Emacs는 그래픽 환경에서 여러 개의 개별 윈도우를 표시하는 "프레임"을 지원한다. 텍스트 터미널에서도 여러 프레임을 만들 수 있지만, 겹쳐서 표시되며 표준 Emacs 명령으로 전환해야 한다.[113]
3. 2. 명령어와 미니버퍼
GNU 이맥스는 일반적인 편집 모드에서 사용자가 키보드로 텍스트를 입력하고 화살표 키로 편집 지점을 이동할 수 있게 함으로써 일반적인 텍스트 편집기와 유사하게 작동한다. Esc 키 시퀀스 또는 일반 키와 함께 Ctrl 키, 메타 키, Alt 키 또는 슈퍼 키를 누르면 이맥스 리스프 환경의 함수를 호출하는 수정된 키 입력이 생성된다. `save-buffer` 및 `save-buffers-kill-emacs`와 같은 명령어는 여러 개의 수정된 키 입력을 결합한다.이맥스는 일반적으로 가장 아래쪽에 위치하는 "미니버퍼"를 사용하여 메시지를 표시하고 정보를 요청한다. 이는 GUI 편집기에서 대화 상자가 수행하는 기능과 유사하다. 미니버퍼는 검색할 텍스트나 읽거나 저장할 파일 이름과 같은 정보를 담고 있다. 해당하는 경우, 탭 키나 스페이스 바로 명령줄 자동 완성 기능을 사용할 수 있다.
C-h t (영어) 또는 C-h T (번역)로 튜토리얼을 표시하여 조작 방법을 학습할 수 있다.[23]
GUI로 이맥스를 사용할 때, 키보드 대신 메뉴 바나 툴바에서도 명령어를 호출할 수 있다. 그러나 경험이 풍부한 이맥스 사용자는 필요한 키 조작을 일단 기억해 두면 더 빠르게 조작할 수 있고 편리한 키보드로부터의 명령 호출을 선호한다.
모든 편집 명령어는 실제로는 이맥스 리스프 환경의 함수를 호출한다. 문자 'a'를 삽입하는 명령
a
를 입력하는 것만으로도 함수 (이 경우 `self-insert-command`)를 호출한다.3. 3. 파일 관리와 버퍼
이맥스는 텍스트를 버퍼라는 자료 구조에 저장한다. 버퍼는 화면에 표시될 수도 있고 안 될 수도 있으며, 모든 버퍼 기능은 이맥스 Lisp 프로그램과 사용자 인터페이스에서 모두 접근할 수 있다.[24] 사용자는 새로운 버퍼를 생성하고 원치 않는 버퍼를 닫을 수 있으며, 사용 가능한 메모리에 의해서만 제한을 받으며 많은 버퍼가 동시에 존재할 수 있다.[25] 이맥스는 종료 시 열린 버퍼 목록을 저장하고 다시 시작할 때 이 목록을 다시 열도록 구성할 수 있다.[26]일부 버퍼에는 사용자가 편집하고 영구 저장 장치에 다시 저장할 수 있는 텍스트 파일에서 로드된 텍스트가 포함되어 있다. 이러한 버퍼는 파일을 "방문"한다고 한다. 버퍼는 또한 이맥스 명령의 출력, dired 디렉토리 목록, "help" 라이브러리에 의해 표시되는 문서 문자열, 다른 편집기에서 대화 상자에 표시될 알림 메시지와 같은 다른 데이터를 표시하는 데 사용된다. 이러한 알림 중 일부는 미니버퍼에 짧게 표시되며, GNU 이맥스는 이 유형의 가장 최근 알림 기록을 보관하는 버퍼를 제공한다. 미니버퍼가 이맥스의 출력을 위해 사용될 때, 이를 "에코 영역"이라고 한다.[27] 더 긴 알림은 자체 버퍼에 표시된다. 미니버퍼에 표시될 메시지의 최대 길이는 물론 구성 가능하다.
버퍼는 셸 또는 REPL과 같은 외부 프로세스의 입력 및 출력 영역으로 사용될 수도 있다. 이맥스가 자체적으로 생성하는 버퍼는 일반적으로 사용자 버퍼와 구별하기 위해 각 끝에 별표로 이름이 지정된다. 열린 버퍼 목록 자체가 이러한 유형의 버퍼에 표시된다.
대부분의 이맥스 키 시퀀스는 모든 버퍼에서 기능을 유지한다. 예를 들어, 표준 Ctrl-s `isearch` 함수는 dired 버퍼에서 파일 이름을 검색하는 데 사용할 수 있으며, 파일 목록은 다른 버퍼와 마찬가지로 텍스트 파일에 저장할 수 있다. Dired 버퍼는 쓰기 가능한 모드로 전환할 수 있으며, 이 모드에서는 파일 이름과 속성을 텍스트로 편집할 수 있다. 버퍼가 저장되면 변경 사항이 파일 시스템에 기록된다. 이를 통해 이맥스의 검색 및 바꾸기 기능을 사용하여 여러 파일의 이름을 바꿀 수 있다. 이맥스는 이러한 기능을 갖춘 경우 버퍼에 이미지 파일을 표시한다. 이맥스는 바이너리 안전하며 8비트 클린이다.[28]
이맥스는 편집 영역을 "창"이라고 하는 별도의 겹치지 않는 섹션으로 분할할 수 있으며, 이는 1975년부터 사용 가능한 기능으로, 일반적인 사용 환경의 그래픽 사용자 인터페이스보다 앞선다. 이맥스 용어에서 "창"은 다른 시스템에서 "프레임" 또는 "창 나누기"라고 부르는 것과 유사하며, 프로그램 디스플레이의 직사각형 부분으로 독립적으로 업데이트하고 상호 작용할 수 있다. 각 이맥스 창에는 기본적으로 창 하단 가장자리에 표시되는 "모드 라인"이라는 상태 표시줄이 있다. 이맥스 창은 텍스트 터미널과 그래픽 모드에서 모두 사용할 수 있으며, 여러 버퍼 또는 버퍼의 여러 부분을 한 번에 표시할 수 있다. 일반적인 응용 프로그램은 현재 디렉토리의 파일 내용과 함께 dired 버퍼를 표시하는 것이다(dired에서 강조 표시된 파일을 따라 파일 버퍼를 만드는 특수 모드가 있음). 또한 프로그램의 소스 코드를 한 창에 표시하고 다른 창에 프로그램을 컴파일한 결과를 보여주는 셸 버퍼를 표시하거나, 셸 버퍼가 실행되는 동안 디버거를 실행하거나, man 페이지 또는 기타 문서를 표시하면서 코드를 작업하거나(이맥스의 내장 웹 브라우저 중 하나를 사용하여 월드 와이드 웹을 통해 로드될 수 있음), C 기반 언어의 구현 파일과 함께 헤더와 같이 편집할 여러 파일을 한 번에 표시하는 것이다. `follow-mode`라는 마이너 모드를 사용하면 창을 연결하여 버퍼의 겹치지 않는 부분을 표시하며, 스크롤 시 적절하게 업데이트되는 여러 개의 나란한 창에 단일 파일을 표시할 수 있다. 또한 이맥스는 파일의 일부만 표시하도록 버퍼를 "좁히기"를 지원하며, 버퍼 상단/하단 탐색 기능과 선택된 범위만 반영하는 버퍼 크기 계산을 지원한다.
이맥스 창은 타일링되어 있으며, 동료 창 "위에" 또는 "아래에" 나타날 수 없다. 이맥스는 그래픽 환경에서 개별 창으로 표시되는 여러 개의 "프레임"을 시작할 수 있다. 텍스트 터미널에서 여러 프레임이 전체 터미널을 채우면서 쌓여서 표시되며, 표준 이맥스 명령을 사용하여 전환할 수 있다.[29]
3. 4. 모드
GNU 이맥스는 다양한 종류의 텍스트를 편집할 수 있으며, "메이저 모드"라고 불리는 애드온 모드를 활성화하여 동작을 조정한다.[30] 일반 텍스트 파일, 다양한 마크업 언어 및 프로그래밍 언어의 소스 코드 편집뿐만 아니라, 웹 페이지, 디렉토리 목록 및 기타 시스템 정보를 표시하는 등 다양한 목적으로 메이저 모드가 존재한다. 각 메이저 모드는 에디터를 특정 유형의 텍스트에 맞춰 편리하게 동작하도록 확장하는 Emacs Lisp 프로그램으로 구성된다.메이저 모드는 일반적으로 다음과 같은 기능을 제공한다.
- 구문 강조("폰트 락"): 키워드와 주석과 같은 문서 요소를 구분하는 "얼굴"이라고 하는 글꼴과 색상의 조합.[30]
- 파일 내에서 일관된 서식을 유지하기 위한 자동 들여쓰기.
- 공백, 줄 바꿈 및 괄호와 같이 문서 구조에 필요한 요소의 자동 삽입.
- 프로그래밍 파일을 편집하는 동안 함수 시작 또는 끝으로 이동하는 명령이나, XML과 같은 마크업 언어로 작업할 때 문서를 유효성 검사하거나 닫는 태그를 삽입하는 명령과 같은 특수 편집 명령.
"마이너 모드"를 사용하면 추가적인 사용자 정의가 가능하다. GNU 이맥스 편집 버퍼는 한 번에 하나의 메이저 모드만 사용할 수 있지만, 여러 개의 마이너 모드를 동시에 사용할 수 있다. 이들은 문서에 직접적으로 적용될 수 있는데, 예를 들어 C 프로그래밍 언어의 메이저 모드가 각 인기 있는 들여쓰기 스타일에 대해 별도의 마이너 모드를 정의하는 방식과 같다. 또는 편집 환경을 변경할 수도 있다. 후자의 예로는 창 구성을 변경한 사항을 되돌릴 수 있는 기능을 추가하는 모드와 실시간 구문 검사를 수행하는 모드가 있다. 또한, 여러 프로그래밍 언어가 포함된 문서를 편집할 때 편의를 위해 하나의 파일에서 여러 메이저 모드를 사용할 수 있게 해주는 마이너 모드도 있다.
GNU 이맥스는 "주 모드(메이저 모드)"라고 불리는 애드온 모드로 들어가 편집할 텍스트 종류에 따라 동작을 적용한다.[114] 일반 텍스트 파일, 많은 프로그래밍 언어의 소스 코드, HTML 문서, TeX나 LaTeX 문서 등 다양한 파일 형식을 위해 주 모드가 정의되어 있다. 각 주 모드는 Emacs Lisp 변수를 조절하여 특정 유형의 텍스트에 맞춰 편리하게 작동하도록 만들어졌다.
GNU Emacs에서는 "부 모드(마이너 모드)"를 사용하여 동작을 더욱 세밀하게 조정할 수 있다. GNU 이맥스에서 문서를 편집할 때는 하나의 주 모드만 사용할 수 있지만, 부 모드는 여러 개를 동시에 사용할 수 있다. 부 모드는 C 언어용 주 모드에서 인기 있는 들여쓰기 스타일별로 আলাদা 부 모드를 정의하는 것처럼 문서에 직접 적용할 수도 있고, 편집 환경을 변경할 수도 있다.
3. 5. 배치 모드
GNU 이맥스는 텍스트 편집기 사용자 인터페이스를 표시하지 않고도 이맥스 리스프 언어의 인터프리터로 사용할 수 있는 기능을 지원한다. 배치 모드에서는 사용자 구성이 로드되지 않으며 터미널 인터럽트 문자 C-c 및 C-z는 이맥스 키 바인딩을 호출하는 대신 프로그램을 종료하거나 실행을 중단하는 일반적인 효과를 가진다. GNU 이맥스는 로드하고 실행할 파일을 지정하거나 명령줄에서 이맥스 리스프 함수를 전달할 수 있는 명령줄 옵션을 가지고 있다.[31] 이맥스는 시작하여 전달된 파일 또는 함수를 실행하고 결과를 인쇄한 다음 종료한다.#!/usr/bin/emacs --script
시뱅 라인은 이맥스 리스프에서 독립 실행형 스크립트 생성을 허용한다.[32]4. 기능
GNU 이맥스는 Emacs Lisp 프로그램을 통해 기능을 무제한으로 수정하고 확장할 수 있다.[34] 새로운 명령어, 버퍼 모드, 키맵을 정의하거나 명령줄 옵션을 추가할 수 있다. 사용자 기능을 제공하는 확장은 주로 주 모드를 정의하며, 새로운 파일 형식을 지원하거나 텍스트 편집 이외의 사용자 인터페이스를 구축한다. 일부 확장은 명령이나 부 모드만 정의하거나 다른 확장을 개선하기도 한다.
GNU Emacs는 다양한 확장 기능을 기본으로 포함하고 있다. 24 버전부터는 내장 패키지 관리자가 포함되어 `list-packages` 명령어로 패키지를 검색하고 설치할 수 있다. 이전에는 패키지를 수동으로 다운로드해야 했으며, 주로 Usenet 뉴스그룹 gnu.emacs.sources를 통해 배포되었다. 시간이 지나면서 Org-mode, Calc, TRAMP 등 많은 인기 패키지가 Emacs에 기본 포함되었다.[35]
주요 확장 기능은 다음과 같다:
- AUCTeX: TeX 및 LaTeX 문서를 편집하고 처리하는 도구이다.

- Dired: 파일 관리자이다.
- Dissociated press: Racter와 유사한 텍스트 생성기이다.
- Dunnet: 텍스트 어드벤처 게임이다.
- Emacs Web Wowser (eww): 웹 브라우저이다.
- Emacs Speaks Statistics (ESS): R 및 SAS와 같은 통계 언어를 편집하기 위한 모드이다.
- ERC: IRC 클라이언트이다.[36]
- Eshell: Emacs Lisp로 작성된 명령줄 셸이다. Emacs 환경과 bash 또는 PowerShell과 같은 표준 셸보다 더 긴밀하게 통합될 수 있다.
- Exwm: Emacs 창에서 X11 앱을 실행할 수 있는 X window manager이다.[37]
- Gnus: news client (뉴스리더) 및 이메일 클라이언트이다.
- Magit: 버전 관리 시스템 Git을 사용할 수 있게 해준다.[38][39]

- MULtilingual Enhancement to Emacs (MULE): 유니코드와 유사하게 여러 언어로 텍스트를 편집할 수 있게 한다.
- Org-mode: 메모, 목록 관리, 프로젝트 계획 및 다양한 형식(PDF, HTML, OpenDocument 형식 등)의 문서 작성에 사용된다. Org 모드를 사용하는 static site generator와 literate programming에 사용 가능한 Babel 확장 기능도 있다.

- Rcirc: IRC 클라이언트이다.[36]
- Superior Lisp Interaction Mode for Emacs (SLIME): GNU Emacs를 Common Lisp 개발 환경으로 확장한다. SLIME은 Emacs Lisp로 작성되었으며, GNU Emacs 편집기가 특수 통신 프로토콜을 통해 Common Lisp 시스템과 통신하고, read–eval–print loop, 데이터 검사기, debugger와 같은 도구를 제공한다.
- Texinfo (Info): 온라인 도움말 브라우저이다.
- SKK: 가나 한자 변환을 지원하여 한국어 입력을 편리하게 해준다.
GNU 이맥스는 초기에는 경쟁 텍스트 편집기보다 눈에 띄게 느리게 실행되는 경우가 많았는데, 이는 Lisp 기반 코드의 로딩과 해석 과정에서 성능 오버헤드가 발생했기 때문이다.[40] 최신 컴퓨터는 GNU 이맥스를 쉽게 실행할 수 있을 정도로 강력하지만, 19.29 이전 버전(1995년 출시)에서는 8MB보다 큰 파일을 편집할 수 없었다. 파일 크기 제한은 이후 버전에서 점차 높아졌으며, GNU 이맥스 23.2 이후의 32 비트 버전은 최대 512MB 크기의 파일을 편집할 수 있다. 64비트 머신에서 컴파일된 이맥스는 훨씬 더 큰 버퍼를 처리할 수 있다.[40]
GNU 이맥스는 주로 Emacs Lisp로 작성되었지만, 성능 향상을 위해 네이티브로 컴파일된 C 코드를 광범위하게 사용한다. 자체 C 코드 외에도 XML 파싱을 위해 libxml2와 같은 외부 라이브러리를 사용한다. 사용자가 설치한 패키지는 동적 모듈을 로드할 수 있다.[41]
28.1 버전부터 Emacs는 단순히 바이트 컴파일하는 대신 `libgccjit`를 통해 Emacs Lisp 파일을 네이티브로 컴파일할 수 있으며, 이로 인해 성능이 크게 향상되었다.[42][43]
GNU 이맥스는 DOS, 윈도우, 리눅스, 다양한 BSD, 솔라리스, AIX, HP-UX, macOS와 같은 대부분의 유닉스 계열 운영체제를 포함한 광범위한 운영 체제에서 실행된다.[47][48][49] 많은 유닉스 계열 시스템은 기본적으로 이맥스를 포함하고 있다.[50] 2023년에는 안드로이드를 위한 공식 포트가 출시되었다.[51]
GNU 이맥스는 텍스트 터미널과 그래픽 사용자 인터페이스(GUI) 환경에서 모두 실행된다. 유닉스 계열 운영 체제에서 GNU 이맥스는 X 윈도 시스템을 사용하여 아테나 위젯을 직접 사용하거나 모티프, LessTif, 또는 GTK+와 같은 "위젯 툴킷"을 사용하여 GUI를 생성할 수 있다. 또한 GNU 이맥스는 macOS 및 윈도우에 기본적으로 제공되는 그래픽 시스템을 사용하여 각 플랫폼의 사용자 인터페이스에 더 가깝게 일치하는 메뉴 모음, 도구 모음, 스크롤 막대 및 컨텍스트 메뉴를 제공할 수 있다.
4. 1. 국제화 지원
GNU 이맥스는 많은 알파벳, 문자 체계, 표기 체계 및 문화적 관습을 지원하며, Ispell과 같은 외부 프로그램을 호출하여 다수의 언어에 대한 맞춤법 검사를 제공한다.[1] 버전 24에는 아랍어, 페르시아어, 히브리어와 같은 언어를 위해 가로쓰기에서 좌에서 우로 쓰기와 우에서 좌로 쓰기를 혼합하여 쓰는 기능의 지원이 추가되었다.[1]UTF-8을 포함한 다수의 문자 인코딩을 지원한다.[1] GNU 이맥스는 버전 23부터 문자 인코딩으로 UTF-8을 사용하지만, 그 이전 버전에서는 고유한 내부 문자 인코딩을 사용했으며 읽고 쓸 때 변환했다.[1] XEmacs가 사용하는 내부 문자 인코딩은 이전 버전의 GNU 이맥스의 것과 유사하지만, 세부 사항은 다르다.[1]
GNU 이맥스 사용자 인터페이스는 초보자를 위한 튜토리얼을 제외하고 영어로 시작되며, 다른 언어로는 번역되지 않았다.[1]
Emacspeak|이맥스스픽영어라고 불리는 서브 시스템을 통해 시각 장애가 있는 사용자와 맹인 사용자가 오디오 피드백을 통해 편집기를 제어할 수 있다.[1]
GNU Emacs의 일본어판으로 Nemacs (Nihongo Emacs)가, 다국어 대응판으로 Mule (MULtilingual Enhancement to GNU Emacs)가 개발되었다.[2] Nemacs 및 Mule은 전자 기술 종합 연구소(전총연)의 한다 켄이치 등에 의해 개발되었다.[2] Mule는 아랍 문자 등 오른쪽에서 왼쪽으로 쓰는 문자를 포함한 여러 문자 집합을 한 파일 안에서 혼합하여 편집할 수 있으며, 중국이나 태국 등 많은 국가 및 지역에서 표준화된 문자 집합을 지원하는 등, 선진적이고 실용적인 다국어 처리 시스템이었다.[2] 日本語 GNU Emacs (Nemacs: 니혼고 이맥스)는 도쿄 대학의 히라노 사토시와 오사카 대학의 히가시다 마나부에 의해, 프리한 DOS 확장기인 go32/djgpp를 사용하여 MS-DOS상에 이식되었으며 (후에 emx에도 대응), demacs라고 불렸다.[2]
4. 2. 확장성
GNU Emacs는 Emacs Lisp 프로그램을 통해 기능을 무제한으로 수정하고 확장할 수 있다.[34] 새로운 명령어, 버퍼 모드, 키맵을 정의하거나 명령줄 옵션을 추가할 수 있다. 사용자 기능을 제공하는 확장은 주로 주 모드를 정의하며, 새로운 파일 형식을 지원하거나 텍스트 편집 이외의 사용자 인터페이스를 구축한다. 일부 확장은 명령이나 부 모드만 정의하거나 다른 확장을 개선하기도 한다.GNU Emacs는 다양한 확장 기능을 기본으로 포함하고 있다. 24 버전부터는 내장 패키지 관리자가 포함되어 `list-packages` 명령어로 패키지를 검색하고 설치할 수 있다. 이전에는 패키지를 수동으로 다운로드해야 했으며, 주로 Usenet 뉴스그룹 gnu.emacs.sources를 통해 배포되었다. 시간이 지나면서 Org-mode, Calc, TRAMP 등 많은 인기 패키지가 Emacs에 기본 포함되었다.[35]
주요 확장 기능은 다음과 같다:
- AUCTeX: TeX 및 LaTeX 문서를 편집하고 처리하는 도구이다.
- Dired: 파일 관리자이다.
- Dissociated press: Racter와 유사한 텍스트 생성기이다.
- Dunnet: 텍스트 어드벤처 게임이다.
- Emacs Web Wowser (eww): 웹 브라우저이다.
- Emacs Speaks Statistics (ESS): R 및 SAS와 같은 통계 언어를 편집하기 위한 모드이다.
- ERC: IRC 클라이언트이다.[36]
- Eshell: Emacs Lisp로 작성된 명령줄 셸이다. Emacs 환경과 bash 또는 PowerShell과 같은 표준 셸보다 더 긴밀하게 통합될 수 있다.
- Exwm: Emacs 창에서 X11 앱을 실행할 수 있는 X window manager이다.[37]
- Gnus: news client (뉴스리더) 및 이메일 클라이언트이다.
- Magit: 버전 관리 시스템 Git을 사용할 수 있게 해준다.[38][39]
- MULtilingual Enhancement to Emacs (MULE): 유니코드와 유사하게 여러 언어로 텍스트를 편집할 수 있게 한다.
- Org-mode: 메모, 목록 관리, 프로젝트 계획 및 다양한 형식(PDF, HTML, OpenDocument 형식 등)의 문서 작성에 사용된다. Org 모드를 사용하는 static site generator와 literate programming에 사용 가능한 Babel 확장 기능도 있다.
- Rcirc: IRC 클라이언트이다.[36]
- Superior Lisp Interaction Mode for Emacs (SLIME): GNU Emacs를 Common Lisp 개발 환경으로 확장한다. SLIME은 Emacs Lisp로 작성되었으며, GNU Emacs 편집기가 특수 통신 프로토콜을 통해 Common Lisp 시스템과 통신하고, read–eval–print loop, 데이터 검사기, debugger와 같은 도구를 제공한다.
- Texinfo (Info): 온라인 도움말 브라우저이다.
- SKK: 가나 한자 변환을 지원하여 한국어 입력을 편리하게 해준다.
4. 3. 성능
GNU 이맥스는 초기에는 경쟁 텍스트 편집기보다 눈에 띄게 느리게 실행되는 경우가 많았는데, 이는 Lisp 기반 코드의 로딩과 해석 과정에서 성능 오버헤드가 발생했기 때문이다.[40] 최신 컴퓨터는 GNU 이맥스를 쉽게 실행할 수 있을 정도로 강력하지만, 19.29 이전 버전(1995년 출시)에서는 8MB보다 큰 파일을 편집할 수 없었다. 파일 크기 제한은 이후 버전에서 점차 높아졌으며, GNU 이맥스 23.2 이후의 32 비트 버전은 최대 512MB 크기의 파일을 편집할 수 있다. 64비트 머신에서 컴파일된 이맥스는 훨씬 더 큰 버퍼를 처리할 수 있다.[40]GNU 이맥스는 주로 Emacs Lisp로 작성되었지만, 성능 향상을 위해 네이티브로 컴파일된 C 코드를 광범위하게 사용한다. 자체 C 코드 외에도 XML 파싱을 위해 libxml2와 같은 외부 라이브러리를 사용한다. 사용자가 설치한 패키지는 동적 모듈을 로드할 수 있다.[41]
28.1 버전부터 Emacs는 단순히 바이트 컴파일하는 대신 `libgccjit`를 통해 Emacs Lisp 파일을 네이티브로 컴파일할 수 있으며, 이로 인해 성능이 크게 향상되었다.[42][43]
4. 4. 플랫폼
GNU 이맥스는 DOS, 윈도우, 리눅스, 다양한 BSD, 솔라리스, AIX, HP-UX, macOS와 같은 대부분의 유닉스 계열 운영체제를 포함한 광범위한 운영 체제에서 실행된다.[47][48][49] 많은 유닉스 계열 시스템은 기본적으로 이맥스를 포함하고 있다.[50] 2023년에는 안드로이드를 위한 공식 포트가 출시되었다.[51]GNU 이맥스는 텍스트 터미널과 그래픽 사용자 인터페이스(GUI) 환경에서 모두 실행된다. 유닉스 계열 운영 체제에서 GNU 이맥스는 X 윈도 시스템을 사용하여 아테나 위젯을 직접 사용하거나 모티프, LessTif, 또는 GTK+와 같은 "위젯 툴킷"을 사용하여 GUI를 생성할 수 있다. 또한 GNU 이맥스는 macOS 및 윈도우에 기본적으로 제공되는 그래픽 시스템을 사용하여 각 플랫폼의 사용자 인터페이스에 더 가깝게 일치하는 메뉴 모음, 도구 모음, 스크롤 막대 및 컨텍스트 메뉴를 제공할 수 있다.
GNU 이맥스는 가장 이식성이 뛰어난 비상업용 컴퓨터 프로그램 중 하나이며, MS-DOS, Microsoft Windows 및 OpenVMS를 포함한 다양한 운영 체제에서 실행된다.[130][131][132] GNU 이맥스는 Linux, BSD 파생, Solaris, AIX, HP-UX 및 macOS 등 대부분의 유닉스 계열 운영 체제에서 사용할 수 있으며, 시스템 설치 패키지에 포함되어 있는 경우가 많다. Android[136] 및 노키아의 Maemo용[137] GNU Emacs 네이티브 포팅이 존재한다.
과거 일본에서는 미야시타 나오에 의해 Win32 애플리케이션으로 Mule 2.3을 기반으로 한 Mule for Win32, 그리고 GNU Emacs 20을 기반으로 한 Meadow가 윈도우에 이식 및 개발되어 널리 사용되었다. 2004년 7월 7일에는 GNU Emacs 21을 기반으로 한 Meadow2가 릴리스되었지만, GNU Emacs 22 이후 버전은 지원하지 않는다. 한편, 위의 바이너리는 일본어 IME에서의 입력에 문제가 있어, 패치를 적용하여 Cygwin으로 빌드한 gnupack[140]이 사용되기 시작했다.
SKK와 같은 GNU Emacs 상의 입력 시스템을 사용하여 윈도우 상의 일본어 IME를 사용하지 않는 경우에는 공식 바이너리를 그대로 사용하면 된다. Win32에서 작동하는 Emacs를 NTEmacs라고 부르기도 한다.
macOS에는 기본적으로 GNU Emacs가 설치되어 있지만, 표준적으로는 GUI를 사용할 수 없다. 銭谷誠司가 GNU Emacs 22를 macOS의 Carbon API를 사용하여 GUI를 지원하는 Carbon Emacs를 사용해 왔지만, GNU Emacs 23부터는 GNU Emacs 자체가 Cocoa API를 사용한 GUI로 작동하게 되었고, configure에 `--with-ns` (ns는 NEXTSTEP) 옵션을 추가하기만 하면 GUI로 작동하는 Emacs를 소스에서 빌드할 수도 있다. 그 외에도 GUI를 Aqua로 한 Aquamacs 등 다수의 변형이 존재한다.
5. 릴리스 기록
버전 | 출시일 | 주요 변경 사항[60] |
---|---|---|
29.4 | 2024년 6월 22일 | 보안 릴리스.[61][62] |
29.3 | 2024년 3월 24일 | 보안 릴리스.[63] |
29.2 | 2024년 1월 18일 | 버그 수정 릴리스.[64] |
29.1 | 2023년 7월 30일 | Tree-sitter 파서 통합과 Wayland 지원을 가능하게 하는 순수 GTK 프런트엔드 추가. 언어 서버 프로토콜 패키지 Eglot, 패키지 관리자 use-package 및 C# 프로그래밍용 csharp-mode를 포함한 인기 있는 패키지 번들 제공.[65][66][67] |
28.2 | 2022년 9월 12일 | 새로운 기능 없이 버그 수정.[68] |
28.1 | 2022년 4월 4일 | Lisp 파일의 네이티브 컴파일, HarfBuzz를 사용한 텍스트 셰이핑과 Cairo를 사용한 드로잉, 보안 컴퓨팅 필터 로드 지원, 이모지 및 이모지 시퀀스 표시 개선, 모드별 명령, 기본적으로 일치하는 괄호 표시. |
27.2 | 2021년 3월 25일 | 주로 버그 수정.[69] |
27.1 | 2020년 8월 10일 | 임의 크기 정수에 대한 내장 지원, HarfBuzz를 사용한 텍스트 셰이핑, JSON 파싱에 대한 네이티브 지원, Cairo 드로잉에 대한 개선, unexec 대신 휴대용 덤핑 사용, 초기화 파일에 대한 XDG 규칙 지원, 추가 초기화 파일, 렉시컬 바인딩 기본 사용, 탭 바 및 탭 라인에 대한 내장 지원, ImageMagick 없이 이미지 크기 조정 및 회전 지원. |
26.3 | 2019년 8월 28일 | GNU 이맥스 Lisp 패키지 아카이브(ELPA) 패키지 서명 확인을 위한 새로운 GPG 키. |
26.2 | 2019년 4월 12일 | Emacs 모듈을 Emacs 트리 소스 외부에서 빌드 가능, 유니코드 버전 11.0 준수. |
26.1 | 2018년 5월 28일 | Lisp 스레드를 사용한 제한된 형태의 동시성, 버퍼에서 줄 번호의 선택적 표시 지원, X 윈도우 시스템에서 깜박임을 줄이기 위한 이중 버퍼링, Flymake 재설계, TRAMP의 Google 드라이브 지원, 새로운 단일 행 수평 스크롤 모드, systemd 사용자 유닛 파일 제공, 지원되는 텍스트 터미널에서 24비트 색상 지원.[70] |
25.3 | 2017년 9월 11일 | Emacs의 보안 취약점 수정 긴급 릴리스.[71] |
25.2 | 2017년 4월 21일 | 주로 버그 수정.[72] |
25.1 | 2016년 9월 17일 | 공유/동적 라이브러리(모듈) 로드 지원, TLS/SSL 인증서 유효성 검사, 곡선 따옴표 사용을 위한 새로운 마이너 모드 electric-quote-mode, isearch.el의 문자 접기 지원, Emacs 버퍼 내에 네이티브 위젯 포함 지원, 유니코드 문자 삽입 기능 개선.[73] |
24.5 | 2015년 4월 10일 | 주로 버그 수정.[74][75] |
24.4 | 2014년 10월 20일 | ACL(접근 제어 목록) 및 Emacs Lisp 패키지의 디지털 서명 지원, 향상된 전체 화면 및 다중 모니터 지원, 프레임 및 윈도우 상태 저장 및 복원 지원, 텍스트 터미널에서 메뉴 지원 개선, 내장 웹 브라우저, 새로운 직사각형 마크 모드, 파일 알림 지원.[76] |
24.3 | 2013년 3월 10일 | 일반화된 변수가 코어 Emacs Lisp에 포함, Common Lisp 에뮬레이션 라이브러리 업데이트, Python용 새로운 메이저 모드.[77] |
24.2 | 2012년 8월 27일 | 버그 수정.[78] |
24.1 | 2012년 6월 10일 | ELPA, 네이티브 색상 테마 지원, 선택적 GTK+3, 양방향 입력 지원, Emacs Lisp에서 렉시컬 스코핑 지원.[79] |
23.4 | 2012년 1월 29일 | 보안 결함 수정.[80] |
23.3 | 2011년 3월 10일 | 버전 관리 시스템과 함께 Emacs를 사용하는 기능 향상. |
23.2 | 2010년 5월 8일 | IDE로 Emacs를 사용하기 위한 새로운 도구(프로젝트 탐색 및 자동 Makefile 생성 포함), JavaScript 소스 편집을 위한 새로운 메이저 모드, GUI에서 사용자가 입력하는 동안 커서 숨김. |
23.1 | 2009년 7월 29일 | Xft를 통해 X에서 안티 앨리어싱 글꼴 지원,[81] 개선된 유니코드 지원, Doc-view 모드 및 PDF 및 PostScript 파일 보기를 위한 새로운 패키지, D-Bus(dbus)를 통한 프로세스 연결, GNU 개인 정보 보호 가드 연결(EasyPG), XML 문서 편집을 위한 nXML 모드, Ruby 프로그램 편집을 위한 Ruby 모드 등. Mac OS X에서 Carbon GUI 라이브러리 대신 Cocoa GUI 라이브러리 사용.[82] |
22.3 | 2008년 9월 5일 | GTK+ 툴킷 지원, 향상된 마우스 지원, 새로운 키보드 매크로 시스템, 개선된 유니코드 지원, X에서 드래그 앤 드롭 작업, GDB에 대한 그래픽 사용자 인터페이스, Python 모드, 수학 도구 Calc 및 원격 파일 편집 시스템 Tramp("Transparent Remote (file) Access, Multiple Protocol") 포함.[82] |
22.2 | 2008년 3월 26일 | Bazaar, Mercurial, Monotone 및 Git 버전 관리 시스템 지원, CSS, Vera, Verilog 및 BibTeX 스타일 파일 편집을 위한 새로운 메이저 모드, 이미지 모드에서 향상된 스크롤 지원. |
22.1 | 2007년 6월 2일 | GTK+ 그래픽 툴킷 지원, X에서 드래그 앤 드롭 지원, Mac OS X Carbon UI 지원, org-mode 버전 4.67d 포함.[83] |
21.1 | 2001년 10월 20일 | 터미널에 색상 및 기타 속성 표시 지원, 내장된 수평 스크롤, 사운드 지원, 휠 마우스 지원, 향상된 메뉴 막대 레이아웃, 이미지, 도구 모음 및 도구 설명 지원, 유니코드 지원. |
20.1 | 1997년 9월 17일 | 다국어 지원. |
19.34 | 1996년 8월 22일 | 사용자에게 표시되는 변경 사항 없는 버그 수정.[84] |
19.31 | 1996년 5월 25일[85] | Emacs는 기본적으로 X11 프레임을 열고, Windows 95 및 NT에서 스크롤 막대 사용, Windows 95에서 하위 프로세스 실행, 충돌 후 여러 파일 복구, US 통신 품위 법 준수를 위해 일부 기능 제거.[84] |
19.30 | 1995년 11월 24일 | MS Windows에서 다중 프레임 지원, 텍스트 터미널에서 메뉴 막대 사용, 일반적인 Windows 및 Macintosh 키 바인딩 에뮬레이션 패키지.[84] |
19.29 | 1995년 6월 19일[86] | 성능, 글꼴 지원 및 이미지 처리 기능 향상, 확장 가능한 글꼴을 포함한 확장된 글꼴 옵션 및 향상된 이미지 형식 지원, 국제화 기능 개선, 사용자 지정 옵션 도입. |
19.28 | 1994년 11월 1일 | 최초 공식 v19 릴리스, X 윈도우 시스템을 사용한 여러 프레임 지원, 버전 관리 시스템을 위한 새로운 인터페이스인 VC, font-lock 모드, 16진수 편집을 위한 hexl 모드. |
18.59 | 1992년 10월 31일 | 이전 버전의 Emacs 18.x에 비해 기능 향상 및 버그 수정. |
18.53 | 1989년 2월 23일 | 다른 프로그래밍 모드에서 구문 강조 표시를 허용하는 font-locking 지원, 코드 가독성 향상, 다양한 버그 수정 및 개선. |
18.52 | 1988년 8월 17일 | 보내는 모든 메시지에 "NSA를 혼란시키는" 키워드를 추가하는 라이브러리 소개.[87] |
18.24 | 1986년 10월 2일 | 서버 모드,[88] Emacs는 TCP 연결을 열 수 있고, xterm에서 콘솔 모드로 Emacs를 열 수 있다. |
17.36 | 1985년 12월 20일 | 백업 파일 버전 번호. |
16.56 | 1985년 7월 15일 | 최초 Emacs 16 릴리스, lisp-mode와 구별되는 Emacs-lisp-mode,[89] 저작권 문제로 Gosling Emacs 코드 제거.[90] |
13.8? | 1985년 3월 20일 | 첫 번째 릴리스. (VAXSIG VAX85b DECUS 테이프에는 1985년 6월 19일 파일 날짜와 1985년 3월 31일 RCS 파일 날짜가 있는 버전 13.8이 있지만, 손상된 사본이며, 버전 13.9는 뉴스 파일에서 참조되므로,[89] 다른 13.x 릴리스가 없어 13.8이 첫 번째 릴리스였을 수 있음) |
참조
[1]
간행물
GNU Emacs
https://www.openhub.[...]
Open Hub
[2]
웹사이트
Emacs machines list
https://www.gnu.org/[...]
[3]
웹사이트
The GNU Project
https://www.gnu.org/[...]
[4]
서적
The Linux Programmer's Toolbox
https://books.google[...]
Pearson Education
2007-03-06
[5]
서적
Learning GNU Emacs
https://books.google[...]
"O'Reilly Media, Inc."
[6]
웹사이트
Debian – details of package Emacs in wheezy
https://packages.deb[...]
[7]
웹사이트
GNU Emacs Lisp Reference Manual
https://www.gnu.org/[...]
2024-09-15
[8]
웹사이트
gnu.org
https://www.gnu.org/[...]
2024-09-15
[9]
웹사이트
NEWS.1–17
https://git.savannah[...]
[10]
웹사이트
GNU Emacs FAQ
https://www.gnu.org/[...]
[11]
논문
Stalking the wily hacker
[12]
웹사이트
Re: GNU EMACS
https://savannah.gnu[...]
GNU
2014-11-16
[13]
웹사이트
Re: Looking for a new Emacs maintainer or team
https://lists.gnu.or[...]
gnu.org Mailing List
2008-02-23
[14]
웹사이트
Feature freeze
https://lists.gnu.or[...]
[15]
뉴스
Emacs gets new maintainer as Richard Stallman signs off
https://www.theregis[...]
[16]
웹사이트
Welcoming a new co-maintainer: Eli Zaretskii
https://lists.gnu.or[...]
[17]
간행물
Free Software Awards winners announced: Eli Zaretskii, Tad (SkewedZeppelin), GNU Jami
https://www.fsf.org/[...]
Free Software Foundation
2023-03-18
[18]
웹사이트
Lars Ingebrigtsen is now one of the Emacs maintainers
https://lists.gnu.or[...]
[19]
웹사이트
Say what? GNU Emacs violates the GPL
https://www.networkw[...]
Network World
2011-07-29
[20]
Webarchive
License revoked: Applying Section 4 of the GPL and the lessons of Best Buy to Google’s Android
http://brownrudnick.[...]
2016-01-27
[21]
웹사이트
Emacs Has Been Violating the GPL Since 2009 – Slashdot
https://developers.s[...]
2011-07-29
[22]
웹사이트
Re: Compiled files without sources????
https://lists.gnu.or[...]
[23]
논문
GNU Emacs as a dynamically extensible programming environment
[24]
서적
Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design
https://books.google[...]
"O'Reilly Media, Inc."
2009-01-15
[25]
서적
Statistical Analysis and Data Display: An Intermediate Course with Examples in R
https://books.google[...]
Springer
2015-12-23
[26]
웹사이트
Saving Emacs Sessions
https://www.gnu.org/[...]
[27]
웹사이트
Echo Area
https://www.gnu.org/[...]
[28]
웹사이트
A Tutorial Introduction to GNU Emacs
https://www2.lib.uch[...]
[29]
웹사이트
Frames – GNU Emacs Manual
https://www.gnu.org/[...]
[30]
서적
Learning GNU Emacs
https://books.google[...]
O'Reilly Media, Inc.
2010-11-02
[31]
웹사이트
Initial Options
https://www.gnu.org/[...]
[32]
웹사이트
Emacs Lisp as a scripting language
https://leancrew.com[...]
2023-06-27
[33]
서적
GNU Emacs Manual
https://www.gnu.org/[...]
Free Software Foundation
2022-01-08
[34]
웹사이트
Command Line Arguments
https://www.gnu.org/[...]
[35]
웹사이트
Emacs 22.1 released
https://lists.gnu.or[...]
2023-07-05
[36]
간행물
Emacs 22.1 released
https://lists.gnu.or[...]
2007-06-03
[37]
웹사이트
exwm: Emacs X Window Manager
https://github.com/c[...]
2017-11-27
[38]
웹사이트
It's Magit! A Git Porcelain inside Emacs
https://magit.vc/
2017-02-08
[39]
서적
Mastering Emacs
https://www.masterin[...]
2017-02-08
[40]
웹사이트
6.1 Does Emacs have problems with files larger than 8 megabytes?
https://www.gnu.org/[...]
[41]
웹사이트
Emacs Dynamic Modules
https://www.gnu.org/[...]
2022-04-15
[42]
웹사이트
Compilation of Lisp to Native Code
https://www.gnu.org/[...]
2022-04-15
[43]
논문
Bringing GNU Emacs to Native Code
2020-04-06
[44]
웹사이트
GNU Emacs FAQ For Windows 95/98/ME/NT/XP and 2000
https://www.gnu.org/[...]
2005-06-24
[45]
웹사이트
EmacsW32 Home Page
http://ourcomments.o[...]
2006-09-27
[46]
웹사이트
GNU Emacs on Windows
https://franz.com/em[...]
Franz Inc.
2006-09-27
[47]
웹사이트
Emacs For Mac OS X
https://emacsformaco[...]
2022-02-09
[48]
웹사이트
Carbon Emacs Package
http://th.nao.ac.jp/[...]
2012-06-10
[49]
웹사이트
Aquamacs is an easy-to-use, Mac-style Emacs for Mac OS X
http://aquamacs.org/
2006-09-27
[50]
웹사이트
gnu.org
https://www.gnu.org/[...]
2023-07-05
[51]
웹사이트
Emacs {{!}} F-Droid – Free and Open Source Android App Repository
https://f-droid.org/[...]
2023-06-26
[52]
웹사이트
XEmacs vs. GNU Emacs
https://www.xemacs.o[...]
2012-10-02
[53]
웹사이트
xemacs(1): Emacs: Next Generation – Linux man page
https://linux.die.ne[...]
2023-06-26
[54]
웹사이트
XEmacs is Dead. Long Live XEmacs!
https://steve-yegge.[...]
[55]
웹사이트
FrontPage – Meadow Wiki
http://www.meadowy.o[...]
2012-02-16
[56]
웹사이트
SXEmacs Website
https://www.sxemacs.[...]
Sxemacs.org
2009-10-11
[57]
웹사이트
Remacs
https://github.com/W[...]
2017-02-22
[58]
웹사이트
NEWS.24.5
https://www.gnu.org/[...]
[59]
웹사이트
Antinews
https://www.gnu.org/[...]
[60]
웹사이트
Emacs Timeline
https://www.jwz.org/[...]
2022-01-10
[61]
웹사이트
Emacs 29.4 released
https://lists.gnu.or[...]
2024-06-22
[62]
웹사이트
etc/NEWS: Update for Emacs 29.4
https://git.savannah[...]
2024-06-22
[63]
웹사이트
GNU Emacs NEWS
https://git.savannah[...]
2024-09-15
[64]
웹사이트
GNU Emacs - GNU Project
https://www.gnu.org/[...]
2024-02-21
[65]
웹사이트
Emacs 29.1 released
https://lists.gnu.or[...]
[66]
웹사이트
Changes in Emacs 29.1
https://www.gnu.org/[...]
[67]
웹사이트
Emacs 29.1 Released
https://emacsredux.c[...]
2023-07-30
[68]
웹사이트
Changes in Emacs 28.2
https://www.gnu.org/[...]
[69]
웹사이트
Changes in Emacs 27.2
https://www.gnu.org/[...]
[70]
웹사이트
Emacs 26.1 released
https://lists.gnu.or[...]
2018-05-29
[71]
웹사이트
Changes in Emacs 25.3
https://www.gnu.org/[...]
[72]
웹사이트
Changes in Emacs 25.2
https://www.gnu.org/[...]
[73]
웹사이트
Emacs 25.1 released
https://lists.gnu.or[...]
2016-09-17
[74]
웹사이트
GNU Emacs NEWS – history of user-visible changes.
https://www.gnu.org/[...]
2015-04-11
[75]
웹사이트
Emacs 24.5 released
https://web.archive.[...]
2015-04-11
[76]
웹사이트
Emacs 24.4 released
https://lists.gnu.or[...]
2014-10-22
[77]
웹사이트
Emacs 24.3 released
https://lists.gnu.or[...]
2013-03-16
[78]
웹사이트
Emacs release candidate 24.2
https://lists.gnu.or[...]
2012-11-11
[79]
웹사이트
Emacs release candidate 24.1
https://lists.gnu.or[...]
2012-06-01
[80]
웹사이트
Security flaw in EDE; new release plans
https://lists.gnu.or[...]
2012-02-23
[81]
웹사이트
emacs-fu: emacs 23 has been released!
https://emacs-fu.blo[...]
Emacs-fu.blogspot.com
2009-11-08
[82]
웹사이트
Emacs Remote Editing with Tramp
http://www.linux-mag[...]
2010-02-01
[83]
웹사이트
Emacs News version 22.1
https://www.gnu.org/[...]
2013-12-29
[84]
웹사이트
NEWS.19
https://searchcode.c[...]
[85]
웹사이트
Emacs Timeline
https://www.jwz.org/[...]
[86]
웹사이트
GNUs Flashes
https://www.gnu.org/[...]
[87]
웹사이트
NEWS.18
https://searchcode.c[...]
[88]
웹사이트
NEWS.18
https://searchcode.c[...]
[89]
웹사이트
NEWS.1–17
https://git.savannah[...]
[90]
웹사이트
Xemacs Internals
https://www.xemacs.o[...]
[91]
웹사이트
'"Learning GNU Emacs, Third Edition": A Guide to the World\'s Most Extensible, Customizable Editor'
http://www.oreilly.c[...]
2017-07-12
[92]
웹사이트
Alphabet Soup: The Internationalization of Linux, Part 1 Linux Journal March 1999
http://www.linuxjour[...]
2017-07-12
[93]
웹사이트
The Linux Programmer's Toolbox
https://books.google[...]
2017-07-12
[94]
웹사이트
Learning GNU Emacs
https://books.google[...]
2017-07-12
[95]
웹사이트
GNUMACS
http://www.catb.org/[...]
2017-07-12
[96]
웹사이트
Debian -- stretch の emacs パッケージに関する詳細
https://packages.deb[...]
2017-07-12
[97]
웹사이트
NEWS.1-17
http://git.savannah.[...]
2017-07-12
[98]
웹사이트
GNU Emacs FAQ
https://www.gnu.org/[...]
2017-07-12
[99]
간행물
Stalking the wily hacker
[100]
웹사이트
Re: GNU EMACS
http://savannah.gnu.[...]
GNU
2014-11-16
[101]
웹사이트
Re: Looking for a new Emacs maintainer or team
http://lists.gnu.org[...]
gnu.org Mailing List
2008-02-23
[102]
문서
https://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00849.html
[103]
웹사이트
Emacs gets new maintainer as Richard Stallman signs off
http://www.theregist[...]
2017-07-12
[104]
문서
http://mail.gnu.org/archive/html/bug-gnu-emacs/2000-09/msg00065.html
[105]
웹사이트
Say what? GNU Emacs violates the GPL
http://www.networkwo[...]
'{{仮リンク|Network World|en|Network World}}'
2016-01-19
[106]
블로그
License revoked: Applying Section 4 of the GPL and the lessons of Best Buy to Google’s Android
http://brownrudnick.[...]
2011-08-08
[107]
뉴스
Emacs-Has-Been-Violating-the-GPL-Since-2009
http://developers.sl[...]
2011
[108]
메일링리스트
Re: Compiled files without sources????
http://lists.gnu.org[...]
2011-07-28
[109]
웹사이트
GNU Emacs as a dynamically extensible programming environment
http://onlinelibrary[...]
2017-07-12
[110]
웹사이트
Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design
https://books.google[...]
2017-07-12
[111]
웹사이트
Statistical Analysis and Data Display: An Intermediate Course with Examples in R
https://books.google[...]
2017-07-12
[112]
웹사이트
A Tutorial Introduction to GNU Emacs
http://www2.lib.uchi[...]
2017-07-12
[113]
웹사이트
Frames - GNU Emacs Manual
https://www.gnu.org/[...]
2017-07-12
[114]
서적
Learning GNU Emacs
https://books.google[...]
O'Reilly Media, Inc.
2010-11-02
[115]
웹사이트
Initial Options
https://www.gnu.org/[...]
2017-07-12
[116]
웹사이트
BatchMode
https://www.emacswik[...]
2017-07-12
[117]
웹사이트
Command Line Arguments
https://www.gnu.org/[...]
2017-07-12
[118]
웹사이트
HTML 2.0 Materials
https://www.w3.org/M[...]
World Wide Web Consortium
1999-09-28
[119]
메일링리스트
Emacs 22.1 released
http://lists.gnu.org[...]
2007-06-03
[120]
문서
https://github.com/c[...]
[121]
웹사이트
It's Magit! A Git Porcelain inside Emacs
https://magit.vc/
2017-02-08
[122]
서적
Mastering Emacs
https://www.masterin[...]
2017-02-08
[123]
웹사이트
Babel: Introduction
http://orgmode.org/w[...]
2017-07-12
[124]
Citation
SLIME: The Superior Lisp Interaction Mode for Emacs
http://www.common-li[...]
[125]
웹사이트
Emacs packages: Viper and Ediff
http://www.cs.sunysb[...]
2012-11-15
[126]
웹사이트
Home
http://gitorious.org[...]
Gitorious
2012-11-15
[127]
웹사이트
6.1 Does Emacs have problems with files larger than 8 megabytes?
https://www.gnu.org/[...]
2017-07-12
[128]
웹사이트
Emacs Dynamic Modules
https://www.gnu.org/[...]
2024-01-11
[129]
웹사이트
Compilation of Lisp to Native Code
https://www.gnu.org/[...]
2024-01-11
[130]
웹사이트
GNU Emacs FAQ For Windows 95/98/ME/NT/XP and 2000
https://www.gnu.org/[...]
2005-06-24
[131]
웹사이트
EmacsW32 Home Page
http://ourcomments.o[...]
[132]
웹사이트
GNU Emacs on Windows
http://www.franz.com[...]
Franz Inc.
[133]
문서
https://www.gnu.org/[...]
[134]
웹사이트
Carbon Emacs Package
http://th.nao.ac.jp/[...]
2012-06-10
[135]
웹사이트
Aquamacs is an easy-to-use, Mac-style Emacs for Mac OS X
http://aquamacs.org/
2006-09-27
[136]
웹사이트
Emacs on Android
http://www.emacswiki[...]
EmacsWiki
2017-07-12
[137]
웹사이트
CategoryPorts
http://www.emacswiki[...]
EmacsWiki
2017-07-12
[138]
문서
https://www.gnu.org/[...]
[139]
문서
http://ftp.gnu.org/g[...]
[140]
문서
http://en.sourceforg[...]
[141]
웹사이트
XEmacs vs. GNU Emacs
http://www.xemacs.or[...]
2012-10-02
[142]
웹사이트
XEmacs is Dead. Long Live XEmacs!
https://steve-yegge.[...]
2016-06-12
[143]
문서
FrontPage - Meadow Wiki
http://www.meadowy.o[...]
[144]
웹사이트
SXEmacs Website
http://www.sxemacs.o[...]
Sxemacs.org
2009-11-08
[145]
웹사이트
Remacs
https://github.com/W[...]
2017-02-22
[146]
웹사이트
NEWS.24.5
https://www.gnu.org/[...]
2017-07-12
[147]
웹사이트
Antinews
https://www.gnu.org/[...]
2017-07-12
[148]
문서
Emacs Timeline
http://www.jwz.org/d[...]
2013-07-17
[149]
웹사이트
Changes in Emacs 29.1
https://www.gnu.org/[...]
2024-01-11
[150]
웹사이트
Changes in Emacs 28.2
https://www.gnu.org/[...]
2024-01-11
[151]
웹사이트
Changes in Emacs 28.1
https://www.gnu.org/[...]
2024-01-11
[152]
웹사이트
Changes in Emacs 27.2
https://www.gnu.org/[...]
2024-01-11
[153]
웹사이트
Changes in Emacs 27.1
https://www.gnu.org/[...]
2024-01-11
[154]
웹사이트
Changes in Emacs 26.3
https://www.gnu.org/[...]
2024-01-11
[155]
웹사이트
Changes in Emacs 26.2
https://www.gnu.org/[...]
2024-01-11
[156]
웹사이트
Changes in Emacs 26.1
https://www.gnu.org/[...]
2024-01-11
[157]
웹사이트
Changes in Emacs 25.3
https://www.gnu.org/[...]
2024-01-11
[158]
웹사이트
Changes in Emacs 25.2
https://www.gnu.org/[...]
2024-01-11
[159]
웹사이트
Emacs 25.1 released
https://lists.gnu.or[...]
2016-09-17
[160]
웹사이트
GNU Emacs NEWS -- history of user-visible changes.
https://www.gnu.org/[...]
2015-04-11
[161]
웹사이트
Emacs 24.5 released
http://thread.gmane.[...]
2015-04-11
[162]
웹사이트
Emacs 24.4 released
https://lists.gnu.or[...]
2014-10-22
[163]
웹사이트
Emacs 24.3 released
http://lists.gnu.org[...]
2013-03-16
[164]
웹사이트
Emacs release candidate 24.2
http://lists.gnu.org[...]
2012-11-11
[165]
웹사이트
Emacs release candidate 24.1
http://lists.gnu.org[...]
2012-06-01
[166]
웹사이트
Security flaw in EDE; new release plans
http://lists.gnu.org[...]
2012-02-23
[167]
웹사이트
emacs-fu: emacs 23 has been released!
https://emacs-fu.blo[...]
Emacs-fu.blogspot.com
2009-11-08
[168]
웹사이트
Emacs Remote Editing with Tramp
http://www.linux-mag[...]
2010-02-01
[169]
웹사이트
Emacs News version 22.1
https://www.gnu.org/[...]
2013-12-29
[170]
웹사이트
NEWS.19
https://searchcode.c[...]
2017-07-12
[171]
웹사이트
Emacs Timeline
http://www.jwz.org/d[...]
2017-07-12
[172]
웹사이트
GNUs Flashes
https://www.gnu.org/[...]
2017-07-12
[173]
웹사이트
NEWS.18
https://searchcode.c[...]
2017-07-12
[174]
웹사이트
NEWS.18
https://searchcode.c[...]
2017-07-12
[175]
웹사이트
NEWS.1-17
http://git.savannah.[...]
2017-07-12
[176]
웹사이트
Xemacs Internals
http://www.xemacs.or[...]
2017-07-12
[177]
간행물
GNU Emacs
https://www.openhub.[...]
Open Hub
[178]
웹인용
Emacs machines list
https://www.gnu.org/[...]
[179]
서적
The Linux Programmer's Toolbox
https://books.google[...]
2007-03-06
[180]
서적
Learning GNU Emacs
https://books.google[...]
[181]
웹인용
GNUMACS
http://www.catb.org/[...]
[182]
웹인용
Debian - details of package Emacs in wheezy
https://packages.deb[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com