Emacs Rhino For Mac
Watch Brian James, tech and trainee at McNeel, walk through the new features in the Rhino 6 for MAC UI. He'll show the different components of the interface, such as the inspector panels.
This guide will, through open source collaboration, spell checking,and Doctor Pepper, show users of Apple (Mac) computers how to installEmacs, Emacspeak, and link the two together for an enjoyable textediting experience, and if there is enough Doctor Pepper, how to bestuse the included Emacsmodesfor greater productivity than is provided by newer software. Therewill also be notes on using Emacspeak on Linux as well.
From the EmacsManual:
Gnu Emacs is the GNU incarnation of the advanced, self-documenting,customizable, extensible editor Emacs.
It is open source, and has a few maintainers who update the software.At the time of this writing, Emacs is at version 26.3.
Emacspeak is, according to its developer, the 'Complete AudioDesktop.' I cannot tell if he is sarcastic about this, as I’ve not yetfound good applications for complete web browsing with HTML5 andJavaScript support, a good Matrix client, MUD client, audio or musiceditor, audio games, easy mail client, and plenty other uses for ageneral purpose operating system. But, for the things that Emacs doeswell, like text editing, file management, EBook reading, and otheruses provided by downloadable packages, Emacspeak provides accesseasily. At the time of this writing, Emacspeak is atversion 51.
Emacs has tons of documentation, and getting to it is easy. One canbring up a list of hotkeys in Emacs, pertaining to which type of fileyou’re working with. One can find out what a key command does, or findout if a function, like 'next-line' has any key commands assigned toit. One can even browse the Emacs manual, along with any other manualsprovided by other programs, to the Info program on your computer, from Emacs using Emacspeak.
Emacs is almost completely written in EmacsLisp.In and of itself, this fact is unremarkable. More remarkable, however,is that one can run Lisp within the editor while it runs, which isexactly what a configuration file does. This gives plenty ofopportunity for extending Emacs, and this is how Emacspeak is sopowerful. If you do not want to write your own programs for Emacs,though, there is the 'package manager' which has plenty of packagesfor many users and developers.
Emacs is cross-platform. It works on Windows, Linux, Mac, along withmobile devices through terminal apps. Emacspeak works by using speechserversto speak information. There are speech servers for some hardwarespeech synthesizers, which do not see much use nowadays, ViaVoice andeSpeak for Linux, and one for the Mac. There is a Github repositoryfor using Emacspeak onWindows, but ithasn’t been updated since January 10, 2016. Since Emacspeak on Linuxcan be a complex topic, and may, depending on if you want subjectivelybetter speech or not, cost $5 or more, I’ll focus here primarily onusing Emacs, with Emacspeak, on the Mac. In the future, mobile devicesand terminal apps like Termux forAndroid or iSH for iOS andiPadOS may provide on-the-go Emacs. Fornow, though, Emacspeak speech servers are limited to general purposecomputer operating systems, and so, practically, is Emacspeak and itslevel of access to Emacs for the blind.
Emacspeak is more than a package to self-voice Emacs. It does not readthe screen, but reads Emacs itself. This means that it not only knowswhat the name of the file is that you’re editing, but the type of fileas well. It not only knows that you’re editing text, but also whatformatting information is involved, what parts are highlighted, andwhat lines have errors. Emacspeak doesn’t only speak that informationin a description either. It shows formatting and code syntaxhighlighting through changes in pitch and intonation, and errors usinga sound.
When you read by character, the speech rate is increased so you canmove faster to the part of a line you want. Instead of saying 'quotedeleted,' it beeps as it says 'quote,' to speed up interaction.Instead of saying 'Active Processes exist dialog' it plays a soundbased on if the answer it needs is yes/no, y/n, or a short line oftext, like a command or text to be placed in a heading. All thesesounds and speech changes speed up interaction, give information, andmake using Emacs with Emacspeak an enjoyable experience. It alsodoesn’t hurt that interaction across Emacs is uniform, everything isaccessible through the keyboard, there are no unlabeled buttons orthings only F6 or control+Tab can get to, no web applications whereone must switch from Browse to Focus mode, no ribbons, or any numberof accessibility stumbling blocks which riddle more modern programs.This isn’t to say that Emacs is perfect. Third-party packages can bepretty hard to use, like Md4Rd, a Reddit client. However, thesepackages are open source, and submitting an issue on its Github pageabout the inaccessibility may help in solving the problem.
First, let’s lay the groundwork with Emacs. You’ll need to getHomebrew, which is a community-driven packagemanager for the Mac. Do this by first finding the Terminal app,opening it, running a command, and following the prompts to installthe package manager. If you already have Homebrew, or are runningLinux, skip this step.
The Terminal app is in the Utilities folder in Finder. from Finder,press Command + Shift + U to open the Utilities folder. Begintyping 'Terminal', until you hear VoiceOver say 'Terminalapplication,' and press Command + O to open the app.Alternatively, you can open it from Spotlight, using Command +Space, then typing 'Terminal', and pressing Return.
Now, inside Terminal, paste the following command and press Return (Enter):
Once Homebrew is installed, you can install Emacs. We’ll useEmacs-Mac,because it works well, for me at least:
For Linux users, use your package managers to install Emacs. Forpreparing to use Emacspeak, install TCL, TCLX, and TK. If you wantVoxin, get that too.
This installs the 'cask' Emacs-mac, which will put the Emacsapp in your Applications folder. To prepare things, let’s open it. Goto Finder, and press Command + Shift + A, and find 'Emacsapplication.' Press VO + Shift + M, to open the menu, and choose'Open,' and press Return. On Linux, just press Alt + F2, typeEmacs, and press Return.
Even though the Mac is a general purpose computer, MacOS is becoming abit of a pain when it comes to running apps which Apple hasn’tofficially accepted, so when you open Emacs for the first time, youmay only be given the option to 'move to trash' or 'cancel' openingthe app. Cancel that, do not move to trash, then try opening the appagain from the menu, and you’ll be given the option to actually openthe app. Storming gatekeeper! On the record, this should not benecessary on a 'pro' laptop. Apple should have learned from WindowsVista. But, the Mac has Emacs and Emacspeak speech servers, andVoiceOver is sort of okay with the Mac’s GUI, so what can you do. Andno, workarounds are not fixes. But let’s move on to more positivethings, which we can work with.
Setting up Emacspeak is just as easy as setting up Emacs. If you’rerunning Linux, replace “brew” in the following commands with yourpackage manager’s installation commands. First, get git. In theTerminal, run:
Once that’s done, install mplayer:
Now, you should be ready to get Emacspeak:
That command may take a moment, but once it’s done, type:
That brings you to Emacspeak’s folder. Now, you have to build theprogram:
At the end, you should hear a message about how to configure Emacs towork with Emacspeak. we’ll do that part next. On Linux, make yourpreferred speech engine as well. For ESpeak, do
And for ViaVoice, do:
Now, it’s time to link the two pieces of software together. To dothis, make an Emacs configuration file, and add a line which loadsEmacspeak whenever Emacs starts.
To create the Emacs configuration file, you can use Text edit. That’s inyour Applications folder in Finder, so go to Finder, press Command +Shift + A, find Text Edit, and open it with Command + O.
One of MacoS’ differentiating aspects is its attention to detail..Well, sometimes. When writing text, some symbols are replaced by theirprettier, more accurate representations. Straight quotes normally usedby other operating systems are replaced by their more accurate curvedversions. Two or three dashes are transformed into em-dashes anden-dashes. This is great for writing prose, but not programconfigurations.
Let’s turn off those handy fixes to the text, as Emacs may not knowwhat to do with those pretty symbols. Within Text edit, before typinganything, press Command + Shift + T. This should put Text Editinto Plain Text mode, instead of Rich Text mode. VoiceOver will say 'Plain Text Mode.' If not, press the commandagain.
Now, you can finally add that line which will load Emacspeak fromEmacs, so paste this into your file:
This tells Emacs that, on startup, load the file 'emacspeak-setup.el'in the lisp folder of the Emacspeak folder in your Home directory.Now, save that file, Command + S as .emacs.el in your Home folder,press Command + Shift + h to choose that. Do not forget the dot atthe beginning. It should sound like 'dot emacs dot el'. When you’vetyped the name and chosen the home folder, press Return to save.
On Linux, follow any steps needed on Emacspeak's installguide.This may be a bit outdated, but it should work. After installing TCL,TCLX, and TK. Try the following in your bash configuration file:
To test the file you’ve just created, open Emacs from the Applicationsfolder, in Finder. If it worked, you’ll hear a small tune on pipeorgans, and a deep ViaVoice TTS voice say 'This, is Emacspeak.' Ifnot, contact a contributor.
If you find that your speech is very unresponsive, set the defaultvoice, in System Preferences > Accessibility > Speech, to Alex. Ifthat’s already set, uninstall all other voices. This has been shown,for one user that I know of, to work on Non-English MacOS setups.
Now that Emacs is running with Emacspeak, let’s learn to use it. thebest way is to use the Emacs Tutorial by pressing Control + H, t.This means to hold control, press H, release both keys, and type t.This will open the Emacs tutorial, and Emacspeak will begin readingit. You can read line by line using the arrow keys, at first. as thetutorial continues, through, I encourage you to practice what istaught, beginning with reading by screens of text (commonly calledpages).
When done with that, try customizing Emacspeak to your liking. PressC-H . You should have learned what that means in the EmacsTutorial. The Mini buffer will allow you to type in a 'group' tocustomize. Type 'Emacspeak' and press RET.
You can navigate the resulting buffer with the arrow keys, RET toexpand items, showing values, Tab to get to text areas or itempickers, and C-X C-S to save your changes. Press C-X K RET toclose a file. This is how you customize Emacs, by using the'Custom' system. This is much easier than editing a configurationfile; Custom does that for you.
First, Emacspeak may be speaking a little too slowly for you. You canspeed it up by pressing C-U C-E d 3 or any other number from 1to 0. You can set 'Mac-speech-rate' in Emacspeak’s customizationsettings. If that is too slow for you, press C-u C-e d r, and typea number. I recommend starting around 350. You can also go intoEmacspeak’s customization, and find the 'TTS' subgroup, and set theTTS base, and TTS rate step, so you can easily set the amountEmacspeak increases speech rate from numbers used. For example, if thestep is at 100, pressing C-u C-e d 2 will be at 200, if baseis 100. If you get stuck along the path of a command, press thequestion mark (?). For example, if you are typing C-u C-e d, andpress the question mark, you’ll get a list of commands starting withthat. To get to help windows or other windows, press C-x o. To getrid of the other windows, not deleting buffers, press C-X 0. Afterthat, you’re ready to go dive into using Emacs in the followingsections.
You can learn more about Emacs by reading the EmacsManual.You can read more about Emacspeak from the EmacspeakManual. You can programin Python,do web developement inHTML,JavaScript,or PHP. You can write blogposts or Github pages inMarkdown. You canwrite blogs, books, notes, get-things-done files, project planningfiles, and so on in Org-mode. You can do mathinCalc.You can write Math and science papers inTex-mode.You can do light web browsing withEWW.You can read RSS with Elfeed. Youcan read books with nov.el. Youcan browse files withDirEd.You can use Git with MaGit.
On the Control key
The Control key, labeled “C” in Emacs, is rather hard to keep pressinghundreds of times per day, on just about any keyboard. Luckily, theMac, and just about every Linux distribution allows you to change itto the Capslock key. On Linux, look in the Keyboard settings of yourcontrol center. On the Mac, go to System Preferences, then Keyboard,then Modifier keys, then set Capslock as Control, press OK, and you’redone. You can still use VoiceOver with the Capslock key as well.
In Emacs for Mac, the version we downloaded in this guide, you canalso change the command key to be control. This way, you have threecontrol keys, which you can access for the greatest level of comfort.
Press C-h SPC, type “mac” without quotes, and press RET. Lookfor the line starting with “Mac Command Modifier:”, and press RETon the beginning of the line to “unhide” that setting, expanding itfor editing. Tab until Emacspeak says “Choice is const..” There,press RET, arrow down to “Control”, press RET again, thenC-x C-s to save the file, saving the customizations. You may haveto restart Emacs, but then you can use Command as the Control key aswell; much better.
When you first start Emacs, you’ll be greeted with a startup screen.It’ll say something like 'Welcome to GNU Emacs, a part of the GNU /Linux operating system.'. You can arrow down, or Tab, through options.Don’t worry, though; Tab normally indents, but this is not a normaleditable file.
At this time, if you haven’t before, you may want to open the Emacstutorial to familiarize yourself with its use. I encourage you topractice the lessons taught there, because from now on, I willassume that you’ve gone through them. I will go over some basic usage,to acclimate you to the difference in Emacs and Windows/Mac usage. Tolearn about how to move around in text, and other features, see the tutorial.
Buffers
Buffers are basically documents. I say basically, because documentscan’t be used to write emails, and only blind people talk about a webdocument to be read because screen readers and virtual buffers. Youcan save buffers to files on your computer, sending them from RAM toyour hard drive. You can 'open' a file, having its contents put into abuffer for editing. I suspect that this is what happens with all texteditors, even the new emails you create are all text in buffers.
Using Buffers
Buffers can be dealt with easily in Emacs. To make a new one, justmake a new file with C-x C-f, (Control + X, then Control + F).Even if it is a file not yet on the computer, its buffer is created,and you can save it to make it official. To save a buffer to a file,press C-x C-s. This can be remembered by the following: C-x is thefile command, having things to do with files, windows, and closingEmacs. C-F is find, like Control + F in Windows, or Command + F inMac. Everyone has heard of Control + S, right?
Closing buffers, called killing them in Emacs, is C-x k. Killingbuffers may sound cruel, but you must remember that the culture of thetwentieth century was filled with killing, so we cannot fault theEmacs programmers for using such unsanitary language in theirinventions. Rest assured that no known life forms are killed byclosing a buffer.. That we know of. After pressing C-x k, you’llbe asked which buffer to kill. You can press RET for the currentbuffer, or arrow through a list of them to kill another, and pressRET to officially commit buffercide.
Switching buffers is also easy, and there are a few ways of doing it.You can open the Buffer List, which has a list of buffers and theirsizes, with C-x C-b. Here, you can choose a buffer with the arrowkeys, and press RET to switch to one. The Buffer List stays open,though, so be aware of that. The next way is accessed with C-x b,uses the mini buffer, a small window at the bottom of the screen, toinput the name of a buffer, or use the arrow keys to switch to oneusing completion. This is the way I switch buffers. Choose one withRET, the mini buffer goes away, and there you are, in anotherbuffer. The quickest, but least precise way, is to press C-Rightor C-left. This switches among buffers like Alt + Tab does onWindows. If you have hundreds of buffers open, though, like T. V.Raman once claimed to have, using the C-Right method will quicklybecome too much effort.
Searches Can Be Interactive
Have you ever searched a GameFAQs guide, looking for that section thatlooked something like '9.4.2.1: Letter from Harmony', and didn’t wantto type it all out into your find box, were too far down into theguide to find how it was actually spelled, but remembered '9.4'? Youput that in, pressed enter a good many times, until you found thatsection. No? Well then, you probably have a better attention span thanI do. For those of us who are not so gifted blind people, but stillwant that same power, there is interactive search.
Interactive search, shortened to I-search, allows one to search abuffer even while typing the search. Emacspeak plays a sound as yousearch, letting you know that it still has found something, then asoft crack when your search now has no results. So, say you searchedfor '9.4.1'. You’d hear that entire line, so you’d know that it isn’tanywhere near what you’re looking for. So, you may try deleting thatand trying '9.4.2'. This brings you closer, so you press RET andyou’re there, ready to navigate down a few lines to get to where youstart.
On other operating systems, you’d have to press Control + F, orCommand + F, type in your search, hit Enter or Return, and then Escapeso that your screen reader actually reads what you’ve found becausescreen readers are actually quite unintelligent. No, the screen readerfind dialog isn’t any better. Then, if you’d gotten to 9.4.9.1, you’dhave to do the whole thing all over again. With Emacs, you don’t evenleave the search feature.
So, how do you get to this I-search? Press C-S. There, type thesearch until you hear what you want. Notice that you don’t have totype a full search phrase or even word if you find what you’re lookingfor before then. If you have, and that’s not the occurrence of thatphrase you want, press C-s again. To search backward, pressC-r.
When you’ve found what you’re looking for, press RET, and you’rethere. For more on searching, see the Search section of the Emacs Manual
Selecting, Cutting, Copying, and Pasting
So, you know how to type, you know how to move by character, word, andline from the tutorial, and you can even move through whole screens.You even know how to search with great power, but what about cut,copy, and paste?
Mark and Point
In Emacs, everything has a term. This term is different between Emacsand other systems. For example, consider the cursor. In Emacs, it iscalled 'point,' named from the period used to show where the cursor isin even older text editors.
'Mark' is the beginning of the selection. It is like pressing Insert +F9 in NVDA. You can 'mark' a 'region' of text to be selected, then actupon it. For more on Mark, see Mark in the EmacsManual.To begin selecting, press C-SPC. Move to the place you want theregion to end, and simply use the action you want to perform:
- Delete: Deletes (kills in Emacs terms), the text in the region, and places it in the ring oftext able to be pasted, or in Emacs terms, yanked.
- C-w: cuts (kills) the text into a place where it can later beretrieved.
- C-y: Yanks (pastes) the text from the latest kill into the buffer.Change with M-y.
- M-w: Copies the text of the buffer into the kill ring withoutdeleting it from the buffer, thus 'copying' it.
For more information, see killing and moving text in the Emacs manual.
Quitting and leaving
If you start to press a command which you don’t mean to, or want toquit a running command, press C-g. This quits the thing you’redoing. It does not close a file, but it does cancel selection.
To close Emacs and take a break from all this for a while, press C-xC-c. If you have any unsaved files, don’t worry, you’ll be asked tosave them before Emacs closes. If Emacs says there are activeprocesses, choose to close those too, as that’s just Emacspeak.
Packages are like addons, plugins, scripts, applets, gadgets, or apps.They extend the function of Emacs. You can get them through thepackage manager. If you want, you can even add new repositories to getpackages from. To get to the package manager, press C-h p. Thismeans 'help with packages.' You may here 'Package refresh done. 16packages can be upgraded; type ‘U’ to mark them for upgrading.'
As you hear, 16 packages can be updated, and 'Capital U' tells Emacsto upgrade them. We’ll get to how you can tell, in most cases, when touse lowercase and uppercase letters for commands later on. Press 'n'to move to the next package in the list, or 'p' to move backward.Press 'i' to mark packaged for installing. When done, press 'x' toinstall. You can find more keyboard commands by pressing C-h m.
If you’re anything like me, which you probably aren’t, you eventuallylearn, through programs not using definition lists correctly, or asideHTML elements being mangled into plain divider elements, thatOrg-mode, discussed later, will not convert cleanly to Markdown. So,with the depressing knowledge that you’ll have to convert all of yourcourses from HTML exported by Org-mode into Markdown, and yourecognize that Markdown, even with its less abundant syntax and thehorror of having to use two asterisks for bolding all those hotkeysinstead of one, has soundly defeated your efforts to find anythingobjectively better, simpler, and ubiquitous, you grudgingly come torespect markdown.
So, you resolutely learn Markdown, find that, in most circumstances,it does its job rather well, learn Markdown-mode, and you might justbe coming to terms with having to do definition lists, tables, andside notes in HTML. Great. Thanks a lot, Github. But how does Emacs,with Emacspeak, help?
headings, italics, and bold
Markdown uses symbols to show formatting, like HTML, Latex, Org-mode,ASCII Doc, XML, and any other markup language. Some are easier thanothers, and even in Markdown, there are variations. PHP-Extra Markdownallows definition lists and tables to be made in plain, readable text,while Common Mark does not, for some reason. But you didn’t come hereto read about Markdown, so I’ll let you research that on your own. Ican’t spoil the blind community too much, after all. At least, Idearly hope not.
Emacs’ Markdown-mode should be built in. This section will be updated later.
Devin Prater
- Email: d.prater@me.com
- Twitter: https://www.twitter.com/devinprater
- Github: https://github.com/devinprater
- Blog: http://www.devinprater.github.io
Latest Version:
Emacs 26.3 LATEST
Requirements:
Mac OS X 10.6 or later
Author / Product:
Free Software Foundation / Emacs for Mac
Download express dictate free for mac. Old Versions:
Filename:
Emacs-26.3-universal.dmg
Details:
Emacs for Mac 2020 full offline installer setup for Mac
The features of GNU Emacs include:
- Content-aware editing modes, including syntax coloring, for many file types.
- Complete built-in documentation, including a tutorial for new users.
- Full Unicode support for nearly all human scripts.
- Highly customizable, using the tool Lisp code or a graphical interface.
- An entire ecosystem of functionality beyond text editing, including a project planner, mail and news reader, debugger interface, calendar, and more.
- A packaging system for downloading and installing extensions.
Emacs has a wide variety of new features, including:
- Limited form of concurrency with Lisp threads
- Support for optional display of line numbers in the buffer
- It now uses double buffering to reduce flicker on the X Window System
- Flymake has been completely redesigned
- TRAMP has a new connection method for Google Drive
- New single-line horizontal scrolling mode
- A system user unit file is provided
- Support for 24-bit colors on capable text terminals
Note: Unzip the archive preserving the directory structure and run binrunemacs.exe to start the program. You can create a desktop shortcut to this file for easier use.
Also Available: Download Emacs for Windows