Emacs for teh win?
July 9, 2010 8:59 AM   Subscribe

TechFilter: Help me Grok Emacs as a not-uber-Techie Writer Type. I an 99% sure I really want Org-Mode among other things, how do I get it setup?

I had this idea, a vision really, that tells me I should learn EMACS now as I embark on a number of writing/creative projects in the near future. But I'm not (really) a coder of any sort, I have Windows 7, and I'm going to need some serious hand holding.

The vision was: I need to take everything I write down in my pen-and-ink journals I keep with me (ideas, notes, dialog, tasks, people's names, phone numbers, appointments, grocery lists...), and consistently upload/organize them them in a giant plain text file (or organized system of plain text files) and then distribute them so I can access them wherever I go, say using DropBox and my Iphone. (maybe I won't upload EVERYTHING, just the important stuff).

Sounds good, sounds easy. Got DropBox, Got Emacs, was surprised and thrilled to hear about Org-mode and Mobile-Org-mode...

Now though, I have my Xemacs on my Win 7 machine. And I am wondering wtf I am doing? Emacs sounds amazing, and though I've coded (or at least toyed with) Python and Java and C++ in the past, I don't need an IDE, and I wouldn't consider myself a tech-geek. People at work think I am, but I know enough to know I know next to nothing about computers.

The things I want to use Emacs for are:

1) the universal text input system for organizing notes (as I said above) using Drop Box and mobile Org-Mode on my Iphone.
2) Storing ideas and writing (publishing?) fiction
3) Storing research and writing (publishing?) quasi academic non-fiction (references and footnotes would be nice)
4) Writing revisions of rules for boardgames (arguably like writing code)
5) Writing personal journal/life observations
6) General life organization/strategy/lists/schedules
7) keeping a budget

Speculative projects to use EMACS for in the future are:
c) writing websites / content for blogs / Wiki
d) Organizing film material and audio podcast material for documentaries and docu-pod-casts (IE a database of all the clips I've shot, tags of what they are, etc)

So... Emacs is the right tool, no? But I need a very nuts and bolts primer or I'll quickly get overwhelmed. Just something to get past the first hurdles until I can grok the help documents... like how do I install at this point?

posted by DetonatedManiac to Computers & Internet (19 answers total) 10 users marked this as a favorite
Learning emacs for this seems like massive overkill. Have you thought about using something like Evernote? It allows for syncing, has a good iPhone app, you can store the notes in plain text, and you can also store pictures which are automatically scanned for searchable text.
posted by proj at 9:12 AM on July 9, 2010

Have you been through the tutorial? Start emacs, press Ctrl-H and then press t.
posted by bonaldi at 9:13 AM on July 9, 2010

So... Emacs is the right tool, no? But I need a very nuts and bolts primer or I'll quickly get overwhelmed. Just something to get past the first hurdles until I can grok the help documents... like how do I install at this point?

I'd say "no". I think you need to step back and ask yourself if emacs is really what you want.

I'm a coder who uses emacs frequently--I have my own .emacs that I port around, full of custom functions and color definitions and modes specific to the language I'm programming in--and I wouldn't throw emacs at something like this, especially if running it on an iPhone is the problem.

First, emacs is fat. Early jokes about how fat were that "emacs" stood for "eight megs and constantly swapping"; or "emacs is a great OS, it just needs a decent text editor". This is not a solution that would count as lightweight, so running it on an iPhone doesn't seem like a great idea.

Second, emacs never gets easier. The learning curve is always steep. You can figure out complicated macros and keystroke combinations to do amazing things, but as soon as you don't use them for a week, they're gone, and you have to figure them out again. I have in my muscle memory a set of basic operations for code writing and text editing, and don't bother trying to go beyond that because the minute I do, my productivity drops off while I'm googling macros and keystrokes.

Third, have you actually done a significant amount of writing in emacs? I hate emacs for extended text, especially prose. It's idiosyncratic in its handling of line breaks, any formatting needs to be in some markup language and emacs itself is no good for WYSIWIG editing.

Really, what you're proposing here is that you build a whole personal system around emacs that'll take a lot of learning (and refreshing), and won't transfer anywhere that doesn't have emacs (what happens when you're on a friend's computer and want to add a quick note?).

Were I in your position, I'd consider a personal website. If you can code, you can code enough to do this with PHP/MySQL. Or install a wiki for yourself. You can access it from any browser anywhere without any platform dependencies, the text editing will be about as texty as emacs, and you'll avoid sinking a lot of brainspace into the tool/system itself.
posted by fatbird at 9:13 AM on July 9, 2010

(I agree with proj, though: for the things you want to do, you don't need to learn emacs. I suspect it'll only annoy you mightily when you're dropped back down into the plainest of plain text on the iPhone. Custom apps like TaskPaper are a better fit for the syncing lifestyle).
posted by bonaldi at 9:14 AM on July 9, 2010

It sounds to me like Emacs is just the ticket for what you want to do.

The emacswiki is an invaluable resource, which links to screencasts and other nifty tricks that may interest you.

I believe EmacsW32 is a popular Windows release which may be a bit more mainstream than the XEmacs you mentioned.

Lastly, if you're an IRC person, come visit us in #emacs on irc.freenode.net. Most of the regulars there are very helpful and friendly.
posted by harmfulray at 9:45 AM on July 9, 2010

When you do get past the installation stage and actually have Emacs opening up, hit C-h t (i.e. hit Ctrl-h and then t) to open the Emacs tutorial. It's a step-by-step guide to the basics of Emacs, in the form of descriptions of commands you can carry out in the tutorial buffer to get the hang of moving around in files, editing text, and so forth.
posted by letourneau at 10:16 AM on July 9, 2010

I realized after writing this update that what follows is more for my benefit since I don't think I have fully written out my system until now. But hopefully you can see why I chose Emacs.

It is not that i want to build a system around Emacs, it is that I already have a system in my head and Emacs seems to be the only thing I've found that fits (open source, customizable, plain text, etc). I've thought about VIM or Emacs for year, back when I thought I was going to do more programmer stuff, but just never had the inclination to do it, until now. But I'm willing to entertain alternatives if any present themselves.

In a sense, my capture system is like Antony Johnston's - except he is going from physical Notebooks to Scrivener (which I can't have because I am bound to Windows). I wouldn't mind Scrivener, but his goals are primarily writing qua writing, where as my main goal is to organize thoughts for writing, yes, but also organize action, tasks, scheduling, code, content, and maybe I'll get back to some of my python programming projects at some point.

This is my ideal process (* = already in place):

Part 1 - Idea Capture:
*1A) pocket pen-and-ink note books, for tasks, random thoughts, ideas, todo, phone numbers etc
---These get filled up quick, so when they are done I need somewhere to archive them digitally
*1B) Project note-books - for specific ideas and creative thoughts that I need a Kinesthetic method to download my thoughts.
---These get to a finished state, or too large, or requiring research, I need somewhere to translate them digitally where they can be worked on, but not get lost.
*1C) Keyboard thoughts - currently I just write in notepad and then save to Dropbox. But this cannot last, see #2. Plus these spawn tasks and things to remember. Also, I have various posts all over the nets (MetaFilter included) I want to collect and archive.

Part 2 - Digital collection and organization: (this is where I envision Emacs)
Something that can mediate the hand-written/various text stuff and put it in one place. I expect this will be a daily/weekly activity of collecting and somewhat formally digitizing everything, maybe refining slightly but basically just documenting. I DO NOT intend to do this using my iphone

Part 3 - Access *(partially working)
THIS is where the Iphone using DropBox comes in. So if I am writing something in my journal in the park and I forget what I had already written 3 months ago I can look at what is in the digitized file of this project. Emcas allows (so I understand) it will all be plain text. no?

Of course if I am sitting at my computer and I am in deeper thought mode I can see the full structure, not using the limited iPhone interface

Part 4 - Organization
This is my largest panacea of Emacs, I'll admit. But Org-Mode and mobile org mode seem very powerful. My hope is that I can use the downloading in Part 2 (Emacs Org-Mode) to cull out tasks, todo, remember events, CRM and such. And then at my computer compile those schedules/tasks/people-notes into something that can be pushed out to my iPhone so I have daily task lists, check lists, as well as project and context specific check/task lists.

Part 5 - Work and Content
Use Emacs to create the web content, quasi academic PDF's with biblography, end notes, etc, keep revisions and versions of my board game rules. And whatever other productive computer interaction I will eventually get involved with.

So it seems like Emacs would be a valuable addition to everything but Part 1. But I'm not that familiar with the tool, so you tell me?

(and this is embarrassing, I have the Sumo-tar-ball version of Xemacs on my machine, but I literally don't know how to start the damn thing and I'm afraid, for some reason, I'm going to break something)

On Review: Thanks harmfulray, that sounds like what I need!!

PS. Can anyone comment on Fatbirds comment that extend text entry is a pain? that sounds... counter intuitive.
posted by DetonatedManiac at 10:37 AM on July 9, 2010

Wow, this is almost identical to what I was thinking a few years ago, specifically after reading these articles. I wanted to organize everything into a giant text file (or text files in a single directory) which would be under version control and backed up at a remote location (or multiple locations). I put contacts, writing projects, etc, into the file, with tags, , to make it easy to search to the place I needed to find.

I have not been entirely successful. Mainly because the version control ended up being way too complicated for me to set up on my web host, although I did use rcs for a while (which is built into emacs).

I am not a programmer. I do think emacs is great. I use emacs + latex for writing letters at work. I use it when I write. It's no nonsense and lets me use a format that won't be obsolete in 10 years (what's a .docx anyway?). You could use any text editor for that though.

A few problems you may run into: emacs isn't nearly as extensible in windows as it is in linux. You can run emacs through a virtual machine or in another environment that emulates *nix (which I've forgotten the name of). The extensibility comes at the expense of constantly fiddling with your .emacs file to get things working. Finding packages to install, then editing your .emacs to get everything to work might not be entirely simple for a non-technical person.

Emacswiki is a very helpful resource, as is the official documentation (also included with the distribution -- C-h r). Steve Yegge's Effective Emacs is probably the best place to start along with a cheat sheet with common commands.
posted by Barry B. Palindromer at 10:48 AM on July 9, 2010

I'm with the Emacs fans. I've been using Emacs for plain text composition, programming, and e-mail for nearly 20 years. I'm not a particularly deep user, and I think you will get over the hurdle by becoming comfortable with the basic text editing features that make you productive. I suggest learning the most helpful key bindings and a few of the major concepts.

I started writing out all my favourite basics, then took a look again at the Emacs Tutorial and it's all the same stuff. You should go with that. And if it doesn't mention the function
fill-paragraph (M-q), which will justify a paragraph in a flash, and dabbrev-expand (M-/), which cycles through potential autocomplete options, learn those too. They are power tools for editing in Emacs.

The tutorial doesn't mention macros and dired mode -- also very useful. Dired mode will keep you inside Emacs as you hunt around for files, replacing Windows Explorer.

Some earlier threads on this kind of thing mention Emacs. From those I found some useful links including editing tips on the Emacs Wiki and the impressive pro-Emacs rant Effective Emacs (retained after preview!).

I disagree that extended text composition is a pain in Emacs. In fact, anything I write that looks to be getting long is thrown straight into Emacs before being pasted back in.

BTW I use Org mode and like it, and thanks for mentioning MobileOrg, which I hadn't heard about and will certainly investigate.

Not to in-fight but Barry B. Palindromer, what things do you find are not extensible in Windows that are extensible on UNIX? I don't have any problems, except I find running a command shell under Emacs in Windows much less satisfying than under a system where the native shell is a proper one like bash. (Cygwin bash never seemed to help much with that.)
posted by galaksit at 11:14 AM on July 9, 2010

Yay, for the pro emacs cavalry! Awesome awesome links. Thanks!

I'm interested in all of this, but my current situation I'm specifically interested in which version to use on Win7, Barry said EmacsW32, and the Emacs for writers pdf I read said Xemacs, (sorta). I guess this is my most pressing question in the moment, which build?. That and... how to get it out of the box and onto my machine properly? (At work ATM, will be my project when I get home)
posted by DetonatedManiac at 11:31 AM on July 9, 2010

I'm a programmer and a writer and think Emacs is great for the things you're interested in (though I wouldn't use it to keep a budget, but I suppose you could use one of the spreadsheet packages if you really wanted to.) Then again, I am a programmer and don't mind gluing things together here and there.

You probably want the native windows installer and not to bother with tarballs. (The Xemacs site doesn't say anything about Windows 7, or describe this as being for anything after XP.) Or you might consider the ErgoEmacs package, which strives for keybindings more familiar to people who didn't grow up with Emacs. (Probably the only disadvantage is that references to keystrokes in other Emacs documentation would be unfamiliar.) The Emacs Wiki has other links to modes and settings that may make Emacs seem more familiar.

Ditto the recommendation that the basic Emacs tutorial (Control-h t) is the place to start. Then you might like to check out some of the org-mode videos. Learn how to use info mode, which is how Emacs and Emacs packages document themselves (Control-h i -- it will offer its own tutorial). Check out Planet Emacs for tidbits from Emacs bloggers.
posted by Zed at 11:54 AM on July 9, 2010

Poking around a little more (it's been a long time since I've used Windows), of the Emacs Wiki's links, this may be the best modern choice -- it's short on docs, but it looks like you just unzip it somwhere and run Emacs/bin/emacs.exe -- there's no Windows installer per se.

Easymacs is another project to provide more familiar keybindings, like ErgoEmacs.
posted by Zed at 12:07 PM on July 9, 2010

Can anyone comment on Fatbirds comment that extend text entry is a pain?

Fatbird is right that Emacs is the wrong choice for WYSIWYG. I, like most Emacs afficionados, consider that a feature, and WYSIWYG the bug. With plaintext and markup, what I say is what I get, and that has caused me much less frustration than the alternative. (org-mode is one of many choices that offer a lightweight markup language that's easily human readable and writable, and easily translated into HTML or other formats.)
posted by Zed at 12:24 PM on July 9, 2010

galaksit: "

Not to in-fight but Barry B. Palindromer, what things do you find are not extensible in Windows that are extensible on UNIX? I don't have any problems, except I find running a command shell under Emacs in Windows much less satisfying than under a system where the native shell is a proper one like bash. (Cygwin bash never seemed to help much with that.)

I don't remember. I think I was trying to get email to work and couldn't figure it out. Everything on the emacs end was fine, I couldn't figure out how to make the external program check the pop3 mailbox. I guess I'm bad at reading documentation or something. Other stuff like that.
posted by Barry B. Palindromer at 12:36 PM on July 9, 2010

I have a couple specific complaints about emacs for extended text editing, mainly because other solutions are simply much more obvious to me.

Emacs either wraps to the buffer (by visually displaying a backslash at the right edge), or uses various modes to wrap text that inserts newlines at a predefined column. If you don't want newlines inside paragraphs, you have to put up with backslashes in the middle of wrapped words, or put start/end hooks into emacs to add/strip newlines from inside paragraphs. To me, this is overkill when virtually all other text editors are capable of displaying text nicely wrapped without actually modifying the content.

Of course, having not used emacs for extended prose, I'm likely missing some superior solution that exists, so I'm totally prepared to concede this point. But in my experience, I found it clunky, and it tended to surface one of my ongoing complaints about emacs: the most common solution to any mildly complex problem is to dig into elisp and start writing code to address something that other software has built in as a feature. Total extensibility is as much a burden as a blessing, IMHO, and emacs is guilty of its own sort of user lock-in.

Again, I say this as someone who regularly uses it for coding in linux environments, and has over fifteen years. I'm not a hater.
posted by fatbird at 1:48 PM on July 9, 2010

The superior solution whose existence you anticipated is visual-line-mode, a standard package in Emacs 23, but not on by default. My .emacs includes the line at the bottom of that page --

(add-hook 'text-mode-hook 'turn-on-visual-line-mode)

But, yeah, if you don't know to turn that on (or long-lines before it), the default behavior isn't so hot for prose, and there's not a very obvious way of figuring out that it's the right solution.
posted by Zed at 3:08 PM on July 9, 2010 [1 favorite]

AWESOME guys. Thank you, Zed especially.

Although ErgoEmacs seemed like the right choice at first, (which was super easy to install) trying to figure out the regular commands and then the Ergo commands was making my brain hurt and preventing me from actually learning anything. But just messing around the last few days in the modern vanilla Emacs it seems Ergo will be mostly unnecessary for me. That Vanilla Windows emacs keeps most of the "arrows", "end", "home", "page up", page down", etc functionality I'm used to and most of the Emcas chords make enough sense. But remapping the .init is not that difficult for the few that don't (Undo being primary for me).

Note, there is a hidden registry update .reg in that windows install. You need to run it before Emacs works properly, that was was causing some difficulty before I found it.

Otherwise, Org mode and Emacs are more amazing than I thought! very powerful, and I feel I have a basic grasp already. This is going to work great. Thanks again.
posted by DetonatedManiac at 5:17 PM on July 12, 2010

You're welcome. MeMail if you run into any stumbling blocks.
posted by Zed at 10:31 PM on July 12, 2010

I just came across another Emacs package trying to ameliorate some of the sub-optimal defaults -- Emacs starter kit. A bunch of it is particular to behavior with major modes for editing code in various languages, but a bunch of it is about global keybindings and behaviors. I'm going to be checking this one out myself.
posted by Zed at 7:11 AM on July 13, 2010

« Older Computer turns on & off   |   How to organize bookmarks in Firefox? Newer »
This thread is closed to new comments.