Introduction Everyone of us might have come across a lot of text editors each of them having their own special features and style. GNU Emacs, apart from being a text editor, is a wonderful software which makes us believe it to be a mini operating system. Like other softwares, Emacs is extensible, customizable, self editing and a real time editor. History of Emacs Emacs was developed by Richard M Stallman, the founder of GNU Project. Being impressed by the "E" editor's WYSIWYG feature, he started improving the "TECO" editor's functionality. Soon TECO became popular and so a large number of macros were developed to be used with TECO. The names of the macros ended with either "MAC" or "MACS" meaning macro(s). This functionality was improved which enabled users to document and extend their own new macros to the existing software. This final software was named "Emacs" by Richard M Stallman which is expanded as "Editing MACroS" or "E with MACroS". Emacs is written in C and provides "Emacs Lisp"(implemented in C) as an extension language. GNU Emacs became the first program released by GNU Project. Features of Emacs Text formatter The operations with Emacs are done with commands, which are a combination of keys. Emacs uses a large buffer which stores the intermediate data that is typed until a file is saved. This makes it possible to version the files. Apart from the ordinary text-editing functionalities, this editor enables syntax-highlighting/syntax-coloring for the source code and HTML. For most of the programming languages, Emacs auto-intends the source code for more readability. It has Unicode support for almost all the human languages and their scripts. It also supports text processing language "latex" using which mathematical formulas, symbols, etc. can be displayed. Project Planner The "Org-mode" of Emacs enables users to create NOTES and TODO lists and for doing project planning, using the fast plain-text system. News and Email Reader Emacs enables users to read News, e-Mail and RSS feeds using the extension named "Gnus". Command Interpreter Like a shell, emacs has "e-shell" where users can execute any OS commands and execute other programs. Debugger The gdb extension of Emacs allows users to easily debug their code. Other features More than one file can be opened in a single Emacs window which enables the users to view all the files at the same time. By doing so, the contents of the files can be compared easily using the "ediff" extension. Emacs gives a text-based view of the file system, where users can navigate through directories. Since it is a text-based view, the files/directories can be renamed easily. Emacs uses SSH to connect and open/edit the files present in remote servers. It also supports entertainment features like games, audio and video. There are few games that come along with the software. The audio and video contents are played using EMMS. Emacs allows users to create and edit bitmap images, do image formatting like cropping, changing colors, changing effects, etc. using "ImageMagick". Apart from the above features, users can customize the software by adding their own extensions. With all these features, I would say that Emacs is, more or less, an operating system .