Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Two words: Reveal Codes.

Have you ever moved your cursor and started typing, only to find out that suddenly you were typing in BOLD? That's due to some bold code left behind from earlier in the edit. In WordPerfect you could press F11 to Reveal all the Codes, delete the bold code, and move on with your day.



Damn, you beat me to it.

Reveal codes is the ultimate hammer against screwy formatting. No more wondering why your layout went screwy 10 pages away from where you made some minor change to your text, a graphic, or a table. With "reveal codes" available, you can see directly what's going on and fix it right, instead of fumbling about with the formatting tools in Word.


I think this is part of the appeal of Markdown-based editors. The nicer ones can make the text look good both while typing and when exporting, but there's little to no hidden magic. WordPerfect, XyWrite/Nota Bene, and WordStar had -- and still have -- fans who insist that they were unparalleled at "just sit down and write"; good Markdown editors bring a lot of that back.

(And no, Markdown isn't, on its own, a replacement for a full-blown word processor, LaTeX, or the like. Many classes of documents just aren't that complicated, though.)


That's a great point. I often do writing in markdown format using vim.

I really wanted to like LaTeX for writing, but I kept having to look up how to use it.


I've typeset a couple books with LaTeX, but I wrote them in other things and did conversion after the fact using Pandoc. :)


Groff+Mom is much smaller than LaTeX but far better than Markdown.


It depends on what you mean by "better." :) The problem is they're not exactly the same thing: Groff (and LaTeX) are much closer in spirit to HTML than they are to Markdown, in that they're the final format you're going to use to render the final product. Markdown, though, was always intended as an intermediate format that you'd run through a processor to produce HTML. It's not as capable as HTML (or LaTeX or...) because it wasn't ever meant to be; it's supposed to cover the basics. MOM has macros for pairwise kerning, horizontal and vertical movements, and precisely-measured horizontal rules; those are things that are way outside Markdown's scopes.

As for whether or not MOM is easier than Markdown for "first draft" writing, though? To pull just a single bit out of a FAQ that I wrote recently, in Markdown I wrote:

    **That's pretty cool! What about, uh, not movie theaters?**

    The home version of Atmos works _essentially_ the same way, just
    mapping to fewer speakers---typically just five, although you can
    get fancy and go up to eleven.
From what I see, in MOM, that would become:

    \*[BD]That's pretty cool! What about, uh, not movie
    theaters?\*[PREV]

    The home version of Atmos works \*[IT]essentially\*[PREV] the same
    way, just mapping to fewer speakers\[EM]typically just five,
    although you can get fancy and go up to eleven.
So when it comes to ease of writing, the thing Markdown was specifically aimed at, I'm gonna say it definitely has the edge. If I was going to typeset a book in Groff, I'd be down for writing a Markdown-to-MOM translator, which seems like it'd probably be pretty easy. But I wouldn't start out drafting in MOM any more than I'd start out drafting in LaTeX. Or HTML.


Some Unix nerd already did a md to groff translator written in AWK.

https://box.matto.nl/convert-markdownish-to-pdf-with-groff-m...


Can you name a good markdown editor?


Yes, although I've found these tend to be apps people have strong opinions about. :)

Currently, I use Ulysses for big documents (like multi-chapter stories) as well as for blog posts, since it can publish directly to WordPress, Ghost, Micro.blog, and Medium. It's a little idiosyncratic, and it's for Mac, iOS only.

A very similar app that's for Mac, Windows, iOS, and Android is iA Writer. It's also idiosyncratic, but has slightly different pluses and minuses. I used it before Ulysses, though, and might yet go back.

For shorter stuff I tend to write in Drafts, although that's another Mac/iOS thing.

Since I'm obviously a Mac user, I don't know a lot about what's available on Linux other than code editors, which personally I haven't found that I like as much for prose. Definitely a YMMV thing. Sublime Text and Visual Studio Code both have decent Markdown modes and have various extensions to do interesting things, though, like Markdown linting. Emacs and Vim both actually have great Markdown modes, too, but I just don't like either one for prose.


If you work across platforms, and if you don't mind Microsoft stuff, then Visual Studio Code both syntax highlights Markdown and also offers a good live preview.

It's a little bloated, but is surprisingly fast - unless you load it down with extensions.


One of unresolved questions of rich text in my mind is what to do with these markup “codes”, explicit or hidden, because while the (usually) nested open/close structure is a non-terrible way for describing formatting in plain text, it is IMO a completely unnatural model (mental or programmatic) of describing rich text by itself, not backed by marked-up plain text. This is apparent in abstraction leaks like the one you describe, but it also has a way of making your life really miserable as soon as you want to reason about transformations of documents, like in a collaborative editor or just a HTML-based editor.

In fact, both Google Wave (IIRC, not going to look up the reference right now) and the Medium editor (https://medium.engineering/why-contenteditable-is-terrible-1...) represent inline formatting as a bucket of non-nested “spans”, because while this still doesn’t yield a unique representation of what you want to call rich text, it gets much easier to pick a canonical representative for each class of equivalent representations that doesn’t get completely upturned by localized editing operations.

Even the text editor example in the GoF book just assigned each character a (shared, CoW) style object... Does anyone actually do it this way?


> Even the text editor example in the GoF book just assigned each character a (shared, CoW) style object... Does anyone actually do it this way?

Emacs does. It has something called "text properties"

https://www.emacswiki.org/emacs/TextProperties#text_property

Colorforth also works this way.

https://colorforth.github.io/parsed.html

The complication arises when you insert text: Users generally prefer to insert a letter between two bold characters and have the word processor "assume" the user meant to type boldface, rather than push a button to put the insert-function into "create bold letters" mode.


Yep, I continued to use an old copy of WP for years because of reveal codes until I was forced to move to Microsoft Word.


Though it lacks Reveal Codes, I can tolerate older versions of Word, but when they added the ribbon I was completely confused.

Give me a keyboard template and function keys any day over a hodgepodge of nonsensical icons with no obvious organization.


The Mac version of Office remains superior as it still has the menu bar along with the ribbon.


Word 2003 still works and has an update available to support modern OOXML docs. My biggest gripe is the way Ribbonized Word has destroyed the classic Normal layout view and made Draft mode less capable.


Word 4 on the Mac rocked.


Hi. Article author here.

Most people – me included – reckoned that Word 5.1 for the Mac was the last, best version.

If you grab the ShapeShifter VM that I describe and link to in the blog post, and look in the MS Word folder, you may be in for a very pleasant surprise. :-)


It's been so long and I've been wrong before. I'll try to remember to check it out...


Fantastic feature and it's hard for me to believe how it's missed in all the other editors. Somehow, there must be an underlying structure to store all that formatting - so it's strange that there isn't some way to at least have a look at it.


The WordPerfect file format is basically a long stream of bytes representing the text, with special control codes inserted for switching various features on and off.

In other words (IIRC) reveal codes was made possible largely because the file system representation matched what you saw on screen, so it was easy to keep the visual representation in sync with the file. In Word (certainly now and I think back then as well) it wasn't that way - the file was structured so there was a mis-match between the screen and the file, so keeping the two aspects in sync became more difficult as the in-memory representation was correspondingly structured rather than sequential.


I'm sure if I knew how it's represented, I wouldn't think of it as something simple.


In word "shift f1" then check "reveal formatting marks"


A completely different feature. In word this should be called "reveal spaces and line breaks".

In WordPerfect this is activating a TeX mode in addition to your WYSIWYG. You have two buffers, with two coursers, that stay in sync. Maybe the closes analogy is a jupyter notepad for tex? But fast.

I have never seen anything like this, althou LyX offers one mode that is kind of a mix of both of them.


Thank you, I forgot Word had that feature. If I remember correctly, it's not nearly as powerful as Reveal Codes -- it's like setting :li in vim to see whitespace marks. Reveal Codes shows you _all_ the codes (imagine HTML or SGML but with square brackets).


You remember rightly.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: