bell notificationshomepageloginNewPostedit profile

Topic : Make Emacs (or vim etc) like Ulysses For many years I have been trying to find a good text editor for writing fiction. I have used Scrivener, Ulysses and others but they seem slow and you - selfpublishingguru.com

10.04% popularity

For many years I have been trying to find a good text editor for writing fiction. I have used Scrivener, Ulysses and others but they seem slow and you always reach the point where you want things to behave differently and you can't.

I have tried Vim and Emacs in the past but didn't go too deep into packages or settings to create the perfect environment. I have tried "Writeroom" modes that make the buffer distraction free but this is just one piece of the puzzle.

The main thing writers need is to organize structure. I find that Ulysses 3 is the closest to getting it right. You write small chunks of text and then you can arrange them in any order you want on a sidebar.

The problem is that it's mac only and not very programmable.

I am surprised there is no open source option for something like this. Is this possible on emacs? I have seen sidebars but none allow you to read a bunch of text files and then order in any way you want.


Load Full (3)

Login to follow topic

More posts by @Jessie137

3 Comments

Sorted by latest first Latest Oldest Best

10% popularity

I don't know much about Ulysses, so I hope my answer will be germane.

1) Have you tried folding text with vim?

There are various ways to do this. Type :help folds. I use triple brackets around the folded text. {{{Chapter One Blah, blah, blah...End of Chapter One}}}

You fold the text by typing zo in normal mode and close by typing zc. There are other folding commands. You can open all folds, close all folds, etc.

Let's say you have a 100,000 word work in progress, divided into twenty chapters. You can fold all the chapters, and all you see on your screen are twenty lines of text, one for each chapter. You can delete a "line" (really a folded chapter) with dd in normal mode, move within the document, and put the chapter in the new spot with p. It's faster than a mouse when you get used to it.

You can nest folds, so within a chapter you can have scenes folded, within scenes sections folded, and so on, so that when you "unfold a chapter" you're presented with folded scenes which you can reorder, within scenes folded sections that you can move around, and so on.

The line that represents folded text is the first line of text within that fold, so you can name things whatever you want, "Chapter One" or "This is the scene with Beelzebub still sucks, work on tomorrow..." etc.

My opinion, without wanting to provoke the inevitable reaction, is that vim is far superior to emacs for writing prose, because most of what prose writers do is edit, not write prose. And for editing, vim's normal mode is worth it's weight in gold. It just runs rings around emacs for quick movements, rearrangements, reordering, and so on from the home row.

When you're done writing, type :% s/[{{{|}}}]//g or similar to get rid of all folds.

2) Libreoffice will also do what you want, via the navigator.

You can label which bits of text you want to move around using headings.

Let's say you have written this:

My first awesome scene!

Blah, blah, blah.

My second awesome scene! Really funny!

Chortle, chortle, chortle.

Use the pull-down paragraph style menu and give your titles a heading style.

My first awesome scene! (<- Heading 1 style or similar.)

Blah, blah, blah.

My second awesome scene! Really funny! (<- Heading 1 style or similar.)

Chortle, chortle, chortle.

Now bring up the navigator, F5.

Click on Headings if its not already selected.

You should see "My first awesome scene!" and "My second awesome scene! Really funny!"

Reorder them using the up and down arrow in the top row of the symbols bar. The text below them, up to the next heading of the same type, will move along with them. Couldn't be easier.

You can nest this effect, with Heading 1 being top level, Heading 2 being next level, and so on. There are 10 levels, so you can make an outline with ten levels of complexity. It's an awesome tool.


Load Full (0)

10% popularity

I recently addressed this question over at the Stackexchange Emacs site, but that post is more geared toward Emacs users. I'll say a couple of things here about general advantages/challenges of this platform for people who might be less familiar with it. As a sidenote, my most recent novel was written using Emacs.

DOWNSIDES

Learning Curve : Emacs has a steep learning curve, and most users do a lot of customization of the basic features over time. I'm not a programmer, but a literary person. I started with an unmodified "vanilla Emacs," and struggled. Emacs did not by default even wrap lines--each line just went straight on, right off the screen. If I was starting over today, I'd seriously consider installing one of the amped-up versions that community members create, such as Emacs Prelude, that comes bundled with many commonly used packages. (Perhaps one day I'll make one of these for creative writers, but I'm not there yet.) Even so, Emacs will take time to learn. I didn't feel comfortable with it until I'd been using it heavily every day for about six months (and my general level of computer literacy was improved as a contingent benefit).
Text Editing vs. Word Processing :
Emacs is a text editor, not a word processor, so it's missing some functionality writers might expect, such as pagination and headers and footers. When I have to communicate with a publisher about what I'm doing, I'll often export my work to .odt (Libreoffice) and then to .doc (Word), which is a little inconvenient, but I put up with it.

UPSIDES

org-mode : This is an Emacs mode for organizing lists, and it's the reason I tried Emacs out in the first place. It works beautifully for large, complex manuscripts because it allows you to create heirarchies, all in plain text. Here's a screenshot of my environment:

These sections can be 'folded' and unfolded at will, and they can be shuffled around at will, too, all with keyboard shortcuts. Want to switch chapter 2 and chapter 10? Easy. Want to see the chapter titles only, and not the content? Scenes? Only some chapters and not others? You can do that, too. org-mode also supports the use of a keyword called TODO, for things you're working on. I use this to organize things I need to remember. You can also create COMMENT sections, which won't be exported, when you export.
Text editing Though it's somewhat of a disadvantage to miss out on the more design-oriented features of a word processor, I will say
that a text editor is amazing at editing text. Every control is on
the keyboard. I never touch a mouse or trackpad when I'm in Emacs,
and there are also often multiple ways to achieve the same goal,
which has been good for my arthritis. There's great search
functionality, and abilities I'd never seen in a word processor, such
as:

ALT-t will transpose words. Put the cursor between the words "cats
bats", hit ALT-t and you will have "bats cats".

ALT-k will delete from your cursor to the end of a sentence.

You can capitalize words with ALT-c or uppercase them with ALT-u.

Emacs keeps track of everything you ever cut and paste during a
session, and holds it in its kill ring. If you cut text1, and then
text2, and then text3, and now want to paste text1, or text2, or text3, you can do it
easily.

There are many, many more conveniences along these lines.
Git with Magit

I'd wanted to learn version control, specifically with Git. Git,
like Emacs, is an amazing system that is used by programmers more
than other kinds of writers. It also has a learning curve, but
Emacs interfaces with it using a utility called Magit, which is
very convenient. I can log into Bitbucket (where I keep my
files), upload versions, look at file histories, etc, all from within
Emacs.
To Sum

I've enjoyed using Emacs so far, but I still have a long way to go. I
frequently hear about other ways of doing things, and suspect that
in five years I'll have different ideas about what works and
what doesn't. Nonetheless, I've been remarkably productive with
this software. Oh, and if you've ever been angered because MSWord
crashed on you, well, I have never seen Emacs crash yet (YMMV...).


Load Full (0)

10% popularity

As someone who also gets frustrated at the layers of complexity that are
inherent in modern packages and often falls back to notepad as a means of just getting down to a basic editor I did particular enjoy the thought of doing any sort of creative writing in vim. (that would be impressively hardcore!)

So I've particularly enjoyed this question (I should probably upvote it for that) it occurred to me that maybe a good editor for doing this stuff in would be atom A text editor created by the creator of github. as stated on their blurb page...

Atom is a text editor that's modern, approachable, yet hackable to the core—a tool you can customize to do anything but also use productively without ever touching a config file.

The core idea of atom is that it is a desktop editor based on web technologies. So it is all built as HTML / CSS with themes and packages that are (apparently!) easy to build, share, transfer. It also runs on Linux, Windows and Mac. You could actually end up with a piece of software that stored its data on github (etc) and had an identical look and feel no matter what OS you were on.

I actually think it could be made into a fully fledged piece of creative writing software, that would have the power to give any of the mainstream pieces of software a decent challenge. (so if anyone wants to start an open source project, maybe we could get together...)

I'm actually writing this in it now, and it is surprisingly nice to compose in. (or decompose, depending on your mood) In the time I've written this message, I think I may have found my new editor - for the time being anyway.

Its worth a look.


Load Full (0)

Back to top