Indeed, I am long-aware of and have used typewriter scrolling. While it is interesting, it has never felt compelling to me. This could certainly be due to the differences in what I write, considering it’s often highly technical and I spend plenty of time back-tracking and verifying and revising on-the-fly. If I was pretending to be Kerouac or cummings, perhaps I would see more utility in the feature.
Of course, horses for courses…
Though I spend a lot of time back-tracking and verifying etc and typewriter scrolling doesn’t get in the way of that in any way. In any case, it’s a toggle on/off feature with a shortcut (or it should be…) so you have the choice to use it whenever you want.
The point is that for many it’s a very convenient writing aid for long documents, and it would be nice to see it as an option in DT3, which now has many other ways to make writing longer pieces comfortable – e.g. the Table of Contents feature.
Interestingly, you can already do some of this:
-
choose a heading in the Table of Contents and it takes you to the heading, which is nicely centred in the screen
-
put your cursor in an arbitrary position some where not at the bottom of a long text and press
ctl-L
. Again, your text will be centred half way down. (That’s courtesy of MacOS’s built-in Emacs-emulation, of course.)
So it’s already halfway to doing what I’d like to see… If you could add the third step of allowing centering the text when the cursor is at the bottom of the page, then I for one would be very happy – even if I have to do it manually with ctrl-L
.
IIRC you use BBEdit? This is actually how they implement it, though they call it Overscroll. It’s not full automatic typewriter scrolling – instead it fakes blank lines at the end of the document to give that appearance of centred text – you have to use the ctrl-L
manually to shift the text to the centre, above the 'fake blank lines`.
Emacs does the same and it’s really useful in its own right (probably was doing it in the 1970s…).
Personally, I’d be very happy with this small extension to what you’re already doing, if ‘full’ typewriter scrolling isn’t feasible.
Thanks for listening!
My favorite open source markdown editor, MarkEdit (GitHub - MarkEdit-app/MarkEdit: Just like TextEdit on Mac but dedicated to Markdown.), just implemented typewriter mode! It’s toggle-able with shift + cmd + D
!!!
Just thought I’d mention it. It’s free and, I think, one of the best markdown editors for mac. Works really well as an external editor for DT.
And since it is just another window in macOS, then it is integrated.
Fair enough. I don’t experience the same fragmentation as you seem to do by opening a file in a different text editor. To the degree that I do, I often like that it has its own focused space. But we’re all different.
There are certainly advantages to working with markdown documents inside DEVONthink. For pure writing sessions it doesn’t matter much to me. And I don’t expect DEVONthink to rival a dedicated writing application. In 10 years nothing has beaten iA Writer for me when it comes to the pure typing experience.
Re: Word – It’s been a long time since I had to work with Microsoft Word. If you need to convert to .docx often, my impression is that the best solution is to use PanDoc and spend the time setting up a proper template. Google Docs also exports to .docx… It started supporting markdown some time ago, might be worth a try.
@brookter I was actually not aware of the CTRL-L key binding. I haven’t managed to make a habit of many of the emacs bindings.
If there is no actual overflow, you can create enough empty lines to fill 50% of the window height as pseudo-overflow. Then CTRL-L works to recenter. At least it’s better than scrolling. It’s not typewriter scrolling, but seems like a useful hack.
@BLUEFROG Of course it depends on the type of writing and where I am in the process—and as always, personal preference. When it’s just about getting words out, it really helps me… I’m also fond of Kerouac, though I don’t pose as him
“I discard any dedicated writing application without typewriter scrolling” was a bit too black & white.
It is – but adding the manual lines at the bottom and then deleting them afterwards is a pain and I stopped doing it. It really needs to be done by the app if it’s going to be useful or by a script, I presume, though I’ve never attempted to do that.
As for the Emacs bindings, I use the ones built into MacOS all the time – which sometimes means rebinding DT3 defaults because they override the MacOS versions. Apps should never override ctl-a/b/d/e/f/h/k/l/m/n/o/p/t/v/y
…
Amen.
Is it necessary to delete the empty lines? They don’t render in the preview.
If you don’t want to enter them manually, you could always set up a template or use a text expander snippet.
Thanks for the list of key bindings, I’ll refresh my memory of some of them
They don’t appear in the preview, but they’re an unnecessary annoyance, and they mean that, for example, the standard end of file shortcut (cmd-down
) no longer works properly, so you’d have to add in something to handle that, and… well I would have no idea how to handle that.
I can’t pretend I use all the Emacs shortcuts every time I write, but I use the more common ones every few minutes (ctl-a/b/d/e/f/n/p
, mostly). I also add alt-b/f
to DefaultKeybinding.dict so I don’t have to mess around with the stupid arrow keys in their stupidly inconvenient position.
I personally find ALT-arrow left/right
more convenient It’s probably just habit.
Yeah, I was wondering if it was about functionality or some mental itch.
I just remembered Brett Terpstra’s Markdown Service Tools includes this:
Paragraphs - Compress Empty Lines
Compresses consecutive newlines into a single blank line, good for cleaning up documents after formatting.
It only works on a selection. If it doesn’t mess up your other formatting, you could assign it a keyboard shortcut. Then it’s just CMD-A and whatever key binding you set to remove the lines.
It runs this ruby script:
# encoding: utf-8
if RUBY_VERSION.to_f > 1.9
Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8
input = STDIN.read.force_encoding('utf-8')
else
input = STDIN.read
end
print input.gsub(/^\s*\n+/,"\n")
GMAB. I’m not “pretending to be Kerouac or cummings.” I am a technology industry analyst — until recently I was a trade journalist. Similar to the work you do.
I like to have the text I’m working on in the middle of the screen, rather than down at the bottom. And I like using the DevonThink Markdown editor and would prefer not to use a third-party editor.
If I was going to pretend to be any writer, it would be Stephen King. He seems cool.
I didn’t say anything about you pretending to be anything. I was clearly writing about myself and my experiences and perspective. And in the context of what I do, the feature doesn’t gain any traction for me. You say, “I like to have…x, y, and z.”. Well, each of us have their likes and dislikes, including myself.
Besides, it is development’s decision whether to pursue a feature or not, not mine.
That’s a great app.
I had seen it, but since I already have like 5 other markdown editors I didn’t want to install yet another one, but I gave it a go, and this one is actually good…
Thank you for clarifying.
I did not intend this to become a discussion of the relative benefits of typewriter mode and the value of using external markdown editors with DEVONthink.
I’m fine with having that discussion. I have participated in this discussion. But that was not my intent.
I am simply saying that I, as an individual, find typewriter mode very useful, and based on my observations and this discussion, I think many other people find it useful too.
Compress empty lines - that’s a nice feature.
I use BBEdit’s Notebook feature to write text for Affinity Publisher documents, separating paragraphs with two newlines for visibility’s sake.
When I copy and paste from BBEdit to Affinity, I first use BBEdit’s delete blank lines feature. Paragraphs are then separated by a single newline, which is how I like paragraphs to work in Affinity.
Pasting plain text leaves full control over styles in Affinity.
After I copy/paste to Affinity, a Cmd-Z in BBEdit restores all the blank lines.
Ah, the life of a writing nerd for me…
Heh, trust me: I was there for the first version of Notepad and virtually everything else was a better option.