📚 LinuxDocs
Topics:
All Pages8021X HOWTOACP ModemACPI HOWTOADSL Bandwidth Man..ATA RAID HOWTOATM Linux HOWTOAX25 HOWTOAccessibility Dev ..Accessibility HOWTOAdv Bash Scr HOWTOAdv Routing HOWTOAntares RAID sparc..Apache Compile HOWTOApache WebDAV LDAP..Assembly HOWTOAstronomy HOWTOAthlon Powersaving..Authentication Gat..Autodir HOWTOAviation HOWTOAvr Microcontrolle..BRIDGE STP HOWTOBTTVBackspaceDeleteBandwidth Limiting..Bangla HOWTOBash Prompt HOWTOBattery PoweredBelarusian HOWTOBelgian HOWTOBeowulf HOWTOBocaBogoMipsBootdisk HOWTOBridgeC++ dlopenC C++Beautifier HO..C editing with VIM..CDROM HOWTOCDServer HOWTOCable ModemCaudium HOWTOClone HOWTOCompaq Remote Insi..Compaq T1500 HOWTOConexant+Rockwell ..Cryptoloop HOWTODB2 HOWTODHCPDSL HOWTODVD Playback HOWTODebian Binary Pack..Debian JigdoDebian and Windows..Disk Encryption HO..Disk on Chip HOWTODocBook Demystific..DocBook InstallDocBook OpenJade S..Ecology HOWTOEmacspeak HOWTOEncourage Women Li..Encrypted Root Fil..Euro Char SupportEvent HOWTOFedora Multimedia ..Finnish HOWTOFirewall PiercingFlash Memory HOWTOFont HOWTOFramebuffer HOWTOGCC HOWTOGIS GRASSGlibc Install HOWTOHOWTO HOWTOHOWTO INDEXHP HOWTOHandspring VisorHard Disk UpgradeHardware HOWTOHighQuality Apps H..Home Electrical Co..IBM7248 HOWTOIO Perf HOWTOIP AliasIP Masquerade HOWTOIRCImplement Sys Call..Indic Fonts HOWTOInfrared HOWTOIngresII HOWTOInstall StrategiesInstallation HOWTOInstallfest HOWTOIntkeybItalian HOWTOJabber Server Farm..JavaStation HOWTOKerberos Infrastru..Kernel HOWTOKerneldKodak Digitalcam H..LDAP HOWTOLDP Reviewer HOWTOLILO crash rescue ..LVM HOWTOLeased LineLegoLinksys Blue Box R..Linux+Win95Linux+Win9x+Grub H..Linux+Windows HOWTOLinux Complete Bac..Linux Crash HOWTOLinux Gamers HOWTOLinux Modem SharingLinux Promise RAID..Linux i386 Boot Co..LinuxGL QuakeWorld..Lotus DominoR5MILO HOWTOMMBase Inst HOWTOMP3 CD BurningMail User HOWTOMajordomo MajorCoo..Man PageMasquerading Simpl..Medicine HOWTOMindTerm SSH HOWTOMobile IPv6 HOWTOMock MainframeModule HOWTOModulesMotorola Surfboard..Mozilla OptimizationMulti Distro DevNCURSES Programmin..NFS HOWTONFS Root Client mi..NIS HOWTONetMeeting HOWTONetwork boot HOWTONvidia OpenGL Conf..OLSR IPv6 HOWTOOnline Troubleshoo..Oracle 9i Fedora 3..PA RISC Linux Boot..PCTel MicroModem C..PHP Nuke HOWTOPPP HOWTOPagerPalmOS HOWTOPartitionPartition Mass Sto..Partition Mass Sto..Partition RescuePine ExchangePortSlavePost Installation ..Postfix Cyrus Web ..Pre Installation C..Print2WinPrinting HOWTOProcess AccountingProgram Library HO..Proxy ARP SubnetQmail ClamAV HOWTOQmail VMailMgr Cou..Querying libiptc H..RPM HOWTOReading List HOWTORedHat CD HOWTOReliance HOWTORemote BridgingRemote Serial Cons..SCSI 2.4 HOWTOSCSI Generic HOWTOSLIP PPP EmulatorSRM HOWTOSSL Certificates H..Scanner HOWTOScientific Computi..Scripting GUI TclTkSecure CVS PserverSecure Programs HO..Security HOWTOSecurity Quickstar..Security Quickstar..Serial Laplink HOWTOSerial Programming..Slovak HOWTOSmall MemorySmart Card HOWTOSoftware Proj Mgmt..Software Release P..Sound HOWTOSpam Filtering for..Speech Recognition..SquashFS HOWTOSybase ASA HOWTOSybase ASE HOWTOSybase PHP ApacheTCP Keepalive HOWTOTamil Linux HOWTOTimePrecision HOWTOTimeSys Linux Inst..Token RingTraffic Control HO..Traffic Control tc..UPS HOWTOUnix Hardware Buye..Unix and Internet ..UpgradeUsenet News HOWTOUser Authenticatio..VB6 to TclVMS to Linux HOWTOVPN HOWTOValgrind HOWTOVideoLAN HOWTOVim HOWTOVirtual WebWebcam HOWTOWikiText HOWTOWindows Newsreader..Wireless Link sys ..Wireless Sync HOWTOXDM XtermXDMCP HOWTOXFree Local multi ..XFree86 HOWTOXFree86 R200XFree86 Second MouseXFree86 Video Timi..XML RPC HOWTOXWindow Overview H..XWindow User HOWTOXinerama HOWTOXterminalsHtml singleI810 HOWTOLibdc1394 HOWTOOpenMosix HOWTOPhhttpd HOWTOPpp sshText
Next Previous Contents

1. Introduction

1.1 Copyright

Copyright © 1998 - 2001 Jeremy D. Zawodny. Permission to distribute and modify this document is granted under the GNU General Public License. An on-line copy is available at .:: p.mobile9.com ::. http://www.gnu.org/copyleft/gpl.html

1.2 Audience and Intent

This document is targeted at the Linux user interested in learning a bit about Emacs and trying it out. This actually began as the outline of a brief tutorial that I was to give at a Toledo Area Linux User Group meeting: http://www.talug.org/. It has since grown a bit as the result of the helpful feedback I have received from the community. See the Credits section for details.

Having said that, there is virtually nothing Linux-specific in this document. It applies to virtually all flavors of Unix and even Emacs running on Microsoft Windows. But since this document is part of the Linux Documentation Project, I make a point of saying that it was developed for Linux users--because it was.

And finally, those of you who prefer the name GNU/Linux to simply ``Linux'' (read http://www.gnu.org/gnu/linux-and-gnu.html to see why one might) are welcomed to mentally substitute GNU/Linux for all occurrences of Linux in this document. While I don't disagree with the reasoning and spirit behind that idea, I don't feel compelled to write GNU/Linux.

1.3 What is Emacs?

Emacs is different things to different people. Depending who you ask, you'll could get any of the following responses:

But for our purposes, let's just pretend it's a text editor--an amazingly flexible text editor. We'll dig deeper into the question later on. Emacs was written by Richard Stallman (founder of the Free Software Foundation: .:: forum.dmec.vn ::. .:: se.enrollbusiness.com ::. http://www.fsf.org/ and the GNU project http://www.gnu.org/) and he still maintains it today.

Emacs is one of the most popular and powerful text editors used on Linux (and Unix). It is second in popularity only to .:: addons.mozilla.org ::. .:: orcid.org ::. vi. It is known for it huge feature set, ability to be easily customized, and lack of bugs. It's large feature set and ability to be customized actually are the result of how Emacs was designed and implemented. Without going into all the details, I'll simply point out that Emacs isn't ``just an editor''. It is an editor written mostly in the programming language [Debug Rust programming language] Lisp. At the core of Emacs is a full-featured Lisp interpreter written in C. Only the most basic and low-level pieces of Emacs are written in C. The majority of the editor is actually written in Lisp. So, in a sense, Emacs has an entire programming language ``built in'' which you can use to customize, extend, and change its behavior. .:: mindef.gov.bn ::.

Emacs is also one of the oldest editors around. The fact that is has been used by thousands of programmers over the past 20 (?) years means that there are many add-on packages available. These add-ons allow you to make Emacs do things that Stallman had probably never dreamed possible when he first began work on Emacs. More on that in a later section.

There are many other web sites and documents which give a better overview of Emacs, its history, and related matters. Rather than attempt to reproduce much of that here, I suggest that you check out some of the places listed in Section [Web Specs: Cassandra] Other Resources section of this document.

Ports and Versions

It's worth pointing out that there are actually two different Emacs editors: GNU Emacs and XEmacs. Both come from the same heritage and share most of the same features. This document focuses on GNU Emacs (version 20.3, specifically) but much of what you'll read here will apply just as well to XEmacs and earlier versions of GNU Emacs. Throughout this document I will simply refer to ``Emacs''. When I do so, bear that in mind. .:: dlive.tv ::.

Getting Emacs

Getting Emacs is easy. If you are using a popular Linux distribution like Debian, RedHat, Slackware, or any of the others, Emacs is probably an optional package that you can install from your distribution media. If not, you can get the Emacs source code and compile it yourself. Visit the GNU web site for the exact location: http://www.gnu.org/software/emacs/emacs.html


Next Previous Contents

Share or Research:

Share on FB Post to X LinkedIn 🤖 Ask AI about this