コンテンツにスキップ

Emacs

出典: フリー百科事典『ウィキペディア(Wikipedia)』
Emacs
GNU Emacsにおける複数のDiredバッファの編集
開発元 デイビット・A・ムーン英語版ガイ・スティール・ジュニア
初版 1976年 (48年前) (1976)[1][2]
プログラミング
言語
LISP, C
対応OS TECOクロスプラットフォームUnix系
種別 テキストエディタ
テンプレートを表示

Emacs[ˈiːmæks][3]Emacs使GNU Emacs[4][5][6]EMACS (inventor of the original much-imitated EMACS editor)GNU EmacsEmacsthe extensible, customizable, self-documenting, real-time display editor[7]Emacs1970GNU Emacs2023

Emacs10,000LISPEmacs Lisp (ELispElisp) EmacsEmacs LispEmacsEmacsRSS[8]ELIZA[9]Emacs[10]

EMACS1972Carl MikkelsonALTECOEditor MACroS[2][11][12][13][ 1]TECO[14]

EmacsGNUGNU Emacs[15]XEmacs1991GNU EmacsGNU EmacsXEmacsLISP使

Emacsvi (Vim) UNIXEmacs[16]

歴史

[編集]
GNU EmacsにおけるCソースコードの編集
GNU EmacsからC++コードを編集してコンパイル
Emacsのインタフェースはシンボリックススペースカデットキーボードの設計の影響を受けた[17]

Emacs1970MITMIT AIAI使PDP-6PDP-10Incompatible Timesharing System (ITS) TECOTECOTECO i ESC 使使edvi

19721974Fred WrightE[18]E使WYSIWYGMITAICarl MikkelsenControl-RTECOTECOTECO[13]

ETECOTECOPDP-11ETECO

TECOAIMACMACS21[19][13]Editing MACroSE with MACroSEMACSEmacsITS<E>使[20]Hacker koanEmack & Bolio's[21]EMACS1976姿[22]

EMACS使[][22]:

EMACS

EmacsTECOPDP-10EmacsTECOTECOEmacsITSMike McMahonEmacsITSTENEXTOPS-20 EmacsKent PitmanEarl KillianEugene Ciccarelli1979EmacsMITMIT使[23]

その他の初期実装

[編集]

EmacsMichael McMahonDaniel WeinrebLISP EINE (Eine Is Not Emacs) ZWEI (Zwei Was Eine Initally[24]ZWEI2EINE1EINEOwen Theodore AndersonSINE (Sine Is Not Emacs) WeinrebEINELISPEmacs1978Bernard GreenbergMultics EmacsMultics MACLISPRichard SoleyBarry MargolinGNU EmacsEmacsLISPUNIXEmacsNeWSJava1981Gosling Emacs CMocklispLISP使Mocklisp[25]LISPLISPGosling Emacs使GNU EmacsMeadow[26]

GNU Emacs

[編集]
テキスト端末で動くGNU Emacs

1984Gosling EmacsGNU EmacsGNU EmacsGosling EmacsMocklispLISPGNU EmacsGNUGNU EmacsCCEmacs Lisp (ELisp) GNU Emacs198515.34GNU Emacs1.x.xC1.121113[27]131985320149GNU emacs-develGNU Emacs[28]

GNU EmacsUNIXGosling EmacsLISPGNU EmacsGosling EmacsUNIXEmacsMarkus Hess1986 cracking spreeGNU EmacsUNIX[29]

Emacs使Emacs3/424.41611kLOC1266Emacs Lisp[1]CEmacs Lisp24.4247kLOCEmacs LispEmacsEmacsC

GNU Emacs1999CVSGNU Emacs2008CVS2009Bazaar20141111Git[30]

GNU Emacs退20082015Stephan MonnierChong Yidong[31]2015MITJohn Wiegley[32]2014GNU Emacs579[33]

GNU Emacs  198517

XEmacs

[編集]
GNU/Linux上のXEmacs 21.5

1991GNU Emacs 19αJamie ZawinskiLucidLucid Emacs2[34] 1Lucid EmacsXEmacsEmacsGNU Emacs2[]XEmacs2009121.4.22GNU EmacsXEmacsXEmacs[35]

その他のGNU Emacsのフォーク

[編集]

XEmacsほど有名ではないGNU Emacsのフォークには以下のものがある:

  • Meadow - Microsoft Windows用の日本語バージョン[36]
  • SXEmacs英語版 - Steve YoungsによるXEmacsのフォーク[37]
  • Aquamacs - GNU Emacsをベースとし、Macintoshユーザインタフェースと統合することに焦点を当てている(Aquamacs 3.2はGNU Emacsバージョン24をベースとし、Aquamacs 3.3はGNU Emacsバージョン25をベースとしている)。

様々なEmacsエディタ

[編集]
Rubyのソースコードを編集中の、OpenBSD 5.3のタイニーEmacs風エディタmg英語版
LISPマシン用のEmacsであるZmacs英語版

EmacsEmacsGNU Emacs321MiBRAM1980Emacs[]

Emacs LispLISPLISPEmacsEmacs:

MicroEMACS - Dave ConroyDaniel Lawrence使[38]

mg - MicroGNUEmacsmg2aMicroEMACSGNU EmacsOpenBSDmacOSEmacs2018macOS Mojave (v10.14)11emacs22macOS Catalina (v10.15)mg

NotGNU[39] - Julie MelbinMS-DOSWin16Win32Linux

JOVE (Jonathan's Own Version of Emacs) - Jonathan PayneUnixEmacs

MINCE (MINCE Is Not Complete Emacs) - Mark of the UnicornCP/MDOSMINCEFinal WordFinal WordSprint ()

Perfect Writer - CP/MKaypro IIKaypro IVcirca 1982MINCEWordStarKaypro 10

Freemacs - 使DOSDOS64KiB

GNU Zile - ZileZile IsLossy Emacs[40]LuaZile Implements Lua EditorsZileZemacsLuaEmacsZivi

Zmacs - MIT LISPZetaLisp

Climacs - ZmacsCommon Lisp

QEmacs - Fabrice BellardMiBUTF-8使[41]

Epsilon - Lugaru SoftwareEmacsDOSWindowsLinuxFreeBSDmacOSOS/2EpsilonCLISP使MS-DOS使

PceEmacs - SWI-PrologEmacs

EmACT - 1986Christian JullienMicroEmacsEmACTSourceForge[42]

Amacs - EmacsApple II ProDOSBrian Fox6502[43][44]

Hemlock - Spice LispCommon LispCMU Common LispZmacsHelixLucid Common LispLispWorksClozure CLHemlockPortable HemlockHemlockCommon Lisp

Emacsエミュレーションを使うエディタ

[編集]

Yi - HaskellHaskellEmacs

Joe's Own Editor - jmacsEmacs

JED - Emacs

Eclipse - Emacs

IntelliJ IDEA - Emacs

Epsilon - Emacsvi

Cocoa text system - Emacs使EmacsSuper使[45]

Sublime Text - SublemacsProEmacs[46]

Visual Studio Emacs Keys - Visual StudioEmacs

GNU Readline - Emacsvi

GNOME Builder - Emacs

機能

[編集]

EmacsLaTeXGhostscriptEmacsEmacs

GNU EmacsEMACSvi

viEmacsVimEmacs使Emacs

一般的アーキテクチャ

[編集]

EmacsLISPGNU Emacs使LISPEmacs LispEmacs LispCLISPEmacs

Emacs11[][]Emacs LispEmacs Lispeval-regioneval-buffer

GUIEmacs

1M-x <mode name>

Emacs1使

カスタマイズ

[編集]

使

Emacs~/.emacsEmacs Lisp~/.emacs.el~/.emacs.d/init.el[47]Emacs:
Emacs(set-default-coding-systems 'utf-8)

便 : (global-set-key (kbd "C-x C-b") 'ibuffer)

EmacsEmacs

after-save-hook

~/.emacs.d/~/elisp/

~/.emacsEmacsEmacs~/.emacs

Emacs Lisp

Emacs (IDE) 使

Emacs LispTCP/IPEmacs LispEmacsUNIXEmacs LISP  Emacs ")""("[48]

稿Usenetgnu.emacs.sourcesEmacs

GNU Emacs 24GNU ELPA(Emacs Lisp Package Archive)[49]

自己文書化

[編集]

EmacshelpEmacsLISPJavaPerlPython

EmacsEmacsStuart Cracraft

GNU EmacsGNU Emacs ManualInfo3

XEmacsGNU Emacs ManualBill LewisDan LaliberteEmacs Lisp Reference ManualRobert ChasselProgramming in Emacs Lisp
  • texinfoはGNU Emacsの標準ドキュメントシステムであり、Emacsのマニュアルはtexinfoでドキュメント化されている。texinfoはTeXをベースにしたマークアップ言語を使って記述し、ハイパーテキスト的なブラウジング・検索が可能なオンラインドキュメントinfoとして使用することも、TeXを経由して組版されたペーパドキュメントとしても利用することができる。

文化

[編集]

Emacs教会

[編集]
Emacs教会の聖人、St IGNUciusとしてのリチャード・ストールマン

Emacs (: Church of Emacs) Emacs[50]Emacsvivi-vi-vi666vivi使[51]Emacsalt.religion.emacs,[52]Emacsvivi (: Cult of vi) 

Emacs (: saint) St IGNUcius[53]

Emacs小指

[編集]

EmacsEmacs (: Emacs pinky) [54]

Emacs[55]:

CapsLock[56]CapsLockEmacs

EmacsXwritstype-break-mode

ace-jump-mode[57]elisp使

Vimevil-mode

VimEmacsgod-mode

Spacemacs使spacemacs使evil-modegod-mode[58]

使[59]

Emacsvi使Emacsviper-mode使[60]

11使[61]

使M-x <command-name>M-x

Emacs

EmacsElisp

Kinesis Contoured KeyboardMicrosoft Natural keyboard[54]

Emacs[62]

用語

[編集]

英語においてboxenやVAXenのように、emacsという単語の複数形をemacsenと綴ることもある[63]

問題点

[編集]

viEmacs使

Emacs使GUIUI



Emacs Lisp 

起動の遅さ

[編集]

EmacsLispLisp  EmacsEMACS (Escape Meta Alt Control Shift) 

Eight Megabytes And Constantly Swapping[64][65]8MB - 8MB

Emacs Makes A Computer SlowEmacs

Eventually Mallocs All Computer Storagemalloc

Eventually Makes All Computers Sick

EmacsEmacs

GNU Emacs 23EmacsEmacsOS

関連項目

[編集]

注釈

[編集]
  • Ciccarelli, Eugene (1978). An Introduction to the Emacs Editor. Cambridge, Massachusetts: MIT Artificial Intelligence Laboratory. AIM-447  PDF
  • Stallman, Richard M. (1981) [1979]. EMACS: The Extensible, Customizable, Self-Documenting Display Editor. Cambridge Massachusetts: MIT Artificial Intelligence Laboratory. AIM-519A  PDF HTML
  • Stallman, Richard M. (2002). GNU Emacs Manual (15th ed.). GNU Press. ISBN 1-882114-85-X. https://www.gnu.org/software/emacs/manual/ 
  • Stallman, Richard M. (2002年). “My Lisp Experiences and the Development of GNU Emacs”. 2007年2月1日閲覧。
  • Chassel, Robert J. (2004). An Introduction to Programming in Emacs Lisp. GNU Press. ISBN 1-882114-56-6. https://www.gnu.org/software/emacs/emacs-lisp-intro/ 
  • Glickstein, Bob (April 1997). Writing GNU Emacs Extensions. O'Reilly & Associates. ISBN 1-56592-261-1 
  • Cameron, Debra; Elliott, James; Loy, Marc; Raymond, Eric; Rosenblatt, Bill (December 2004). Learning GNU Emacs, 3rd Edition. O'Reilly & Associates. ISBN 0-596-00648-9. http://www.oreilly.com/catalog/gnu3/ 
  • Finseth, Craig A. (1991). The Craft of Text Editing -or- Emacs for the Modern World. Springer-Verlag & Co. ISBN 978-1-4116-8297-9. http://www.finseth.com/craft/ 
  • Thompson, Adrienne G. (2009年). “MACSimizing TECO”. 2012年2月26日閲覧。

脚注

[編集]

注釈

[編集]
  1. ^ 他の共同制作者としてリチャード・ストールマンがクレジットされることが多いが、ダニエル・ウェインレブ英語版は「(TECOベースである)オリジナルのEmacsはガイ・L・スティール・ジュニアとデイビット・ムーンが開発・設計した。彼らがEmacsを動くようにした後で、MIT AI研における標準テキストエディタとして確立されていき、ストールマンがそのメンテナンスを引き継いだ」と記している。ムーン自身は「私が覚えている限り、それは全て真実だ。しかし公正を期して言えば、ストールマンがガイと私からEmacsを『解放した』後、ストールマンがEmacsを大幅に改善したと言わなければならない」と応えた。以下を参照 : ウェインレブ, ダニエル (November 11, 2007), “Rebuttal to Stallman’s Story About The Formation of Symbolics and LMI”, Dan Weinreb's blog: software and innovation, オリジナルのJanuary 1, 2009時点におけるアーカイブ。, https://web.archive.org/web/20090101103828/http://danweinreb.org/blog/rebuttal-to-stallmans-story-about-the-formation-of-symbolics-and-lmi 

出典

[編集]


(一)^ /EmacsReleaseDates. 2017111

(二)^ ab Zawinski, Jamie (2005621). Emacs Timeline. 2015811

(三)^ A Tutorial Introduction to GNU Emacs. 2017515 For an editor to be called "emacs" the main requirement is that it be fully extensible with a real programming language, not just a macro language.

(四)^ GNU Emacs Pocket Reference. 2017111 GNU Emacs is the most popular and widespread of the Emacs family of editors.

(五)^ .  FSF. 2023927

(六)^ Initial Announcement.  FSF. 2023927

(七)^ GNU Emacs Manual. GNU Emacs Manual.  FSF. 20121124

(八)^ Introducing Elfeed, an Emacs Web Feed Reader. 2016612

(九)^ Amusements. 2017111 Finally, if you find yourself frustrated, try describing your problems to the famous psychotherapist Eliza. Just do M-x doctor.

(十)^ A Guided Tour of Emacs. 2016612 Some users find that they can do almost all of their work from within Emacs.

(11)^ Greenberg, Bernard S. (1979). Multics Emacs: The History, Design and Implementation. http://www.multicians.org/mepap.html 2016612 

(12)^ GNU Emacs FAQ. 2016612

(13)^ abcAdrienne G. Thompson. MACSimizing TECO. 2016612

(14)^ A history of Emacs. XEmacs Internals Manual (20061211). 2007822

(15)^ Allombert, Bill. Debian Popularity Contest. Editors report.  Debian. 20111122

(16)^ The 10 oldest, significant open-source programs. 2017111

(17)^ Raymond, Eric S.; Cameron, Debra; Rosenblatt, Bill (1996). Learning GNU Emacs, 2nd Edition. Sebastopol, CA: O'Reilly. pp. 408409. ISBN 1-56592-152-6. https://books.google.com/books?id=a_lea3-w-1kC&pg=PA408&dq=bucky+keyboard#PPA408,M1 

(18)^ Arthur Samuel (19803). Essential E. 201181[]

(19)^ EMACS vs. vi: The endless geek 'holy war'. 2016612 "EMACS as such actually started out as a standards project," emails Guy Steele

(20)^ Stallman, Richard M. (1987). The EMACS Full-Screen Editor. GARB (Lysator, Linköping University) (Maj 1987): pp. 811. http://www.lysator.liu.se/history/garb/txt/87-1-emacs.txt 2007914. 

(21)^ The Emac Bolio Name Koan. David G. Wiseman: Stories of Computer Folklore (1992210). 2016612 A cocky novice once said to Stallman: 'I can guess why the editor is called Emacs, but why is the justifier called Bolio?'. Stallman replied forcefully, Names are but names, Emack & Bolio's is the name of a popular ice cream shop in Boston town. Neither of these men had anything to do with the software.' His question answered, yet unanswered, the novice turned to go, but Stallman called to him, 'Neither Emacs nor Bolio had anything to do with the ice cream shop, either.'[]

(22)^ abStallman, Richard (26 March 1981). EMACS: The Extensible, Customizable, Self-Documenting, Display Editor (Technical report). MIT AI Lab. AI Memo 519a. 202267

(23)^ Leigh Klotz (2007829). email quoted in "Be Careful What You Joke About". The New York Times. http://pogue.blogs.nytimes.com/2007/08/29/be-careful-what-you-joke-about/ 201051 

(24)^ Comment by ZWEI's author Dan Weinreb. 2016612 I wrote the second Emacs ever: the Lisp machine implementation, whose spec was "do what Stallman's PDP-10 (original) Emacs does", and then progressed from there. There's just a whole LOT of it. It took me and Mike McMahon endless hours to implement so many commands to make ZWEI/Zmacs.

(25)^ RMS Lecture at KTH: Japanese

(26)^ 

(27)^ A History of Emacs. 2016612

(28)^ emacs-devel msg 00872 (2014-09-29). 2016612 In retrospect 24.3 should have been named 25.1 and 24.4 should have been named 26.1. The .N thingy should really be kept only for bug-fix releases and neither of 24.3, 24.4, nor the previously planned 24.5 are bug-fix releases.

(29)^ Stoll, Clifford (1988). Stalking the wily hacker. Communications of the ACM 31 (5): 484?497. doi:10.1145/42411.42412 

(30)^ New Git repository is up.. 2016612

(31)^ Re: Looking for a new Emacs maintainer or team.  gnu.org Mailing List. 2008223; see also "Stallman on handing over GNU Emacs, its future and the importance of nomenclature"

(32)^ Emacs gets new maintainer as Richard Stallman signs off. 2017111

(33)^ Ugliestrepositoryconversionever. 2016612 twenty-nine years of continuous development by no fewer than 579 people

(34)^ Stephen J., Turnbull. XEmacs vs. GNU Emacs. 2012102

(35)^ XEmacs is Dead. Long Live XEmacs!. 2016612

(36)^ FrontPage - Meadow WikiArchived 2012-02-16 at the Wayback Machine.

(37)^ SXEmacs Website.  Sxemacs.org (20091011). 2009118

(38)^ http://www.stifflog.com/2006/10/16/stiff-asks-great-programmers-answer/

(39)^ NotGNU Emacs Editor (Author's Official Download Site).  Notgnu.org (2004115). 2009118

(40)^ Zile home page. 2016620

(41)^ QEmacs Homepage.  Fabrice.bellard.free.fr. 2009118

(42)^ Christian Jullien. (1986). EmACT on sourceforge.  Christian Jullien. 20111231

(43)^ AMACS source. 2016612

(44)^ apple2.org. 2016612

(45)^ Cocoa text system. 2016612

(46)^ SublemacsPro plugin for Sublime Text. 2016612

(47)^ Init file. 2016620

(48)^ UNIX1986115243ISBN 4-87148-184-0 

(49)^ https://elpa.gnu.org/packages/

(50)^ Saint IGNUcius - Richard Stallman. 2015129

(51)^ The unabridged selective transcript of Richard M Stallman's talk at the ANU. 2015129

(52)^ alt.religion.emacs newsgroup

(53)^ Saint IGNUcius - Richard Stallman

(54)^ abHow To Avoid The Emacs Pinky Problem.  Xahlee.org. 2009118

(55)^ EmacsWiki: Repeated Strain Injury. 2015129

(56)^ Moving The Ctrl Key.  EmacsWiki. 2009118

(57)^ EmacsWiki: Ace Jump. 2015129

(58)^ Spacemacs. 2015420

(59)^ BayleShanks (2009107). Sticky Modifiers.  EmacsWiki. 2009118

(60)^ Viper Mode.  EmacsWiki. 2009118

(61)^ At Home Modifier by Evdev. 2015414

(62)^ Why Emacs's Keyboard Shortcuts are Painful. 2016612

(63)^ VAXen.  Catb.org. 2009118

(64)^ GLYN MOODY 2002611288 

(65)^ Some funny acronym expansions of Emacs. 2021117

外部リンク

[編集]