Skip to main content
Topic: What's the best kind of interface for writing and typing? (Read 19022 times)

Re: What's the best kind of interface for writing and typing?

Reply #51
But Markdown highlighting seems to do the job reasonably well too?
Yes, for mere highlight, but not when you want keybinds to automate the tag-writing. BBCode-mode for Emacs does both, and when you modify it, it does both differently.

Re: What's the best kind of interface for writing and typing?

Reply #52
By now I am using Emacs more than Nano for writing. The advantages of Emacs are enormous, not the least being able to edit BBCode with bbcode-mode. Some other great productivity boosters are
 - Inbuilt movement commands not only for character, word, line and paragraph, but also for sentence[1] and whitespace!
 - Syntax highlight for everything, including for basic prose in inbuilt org-mode
 - Inbuilt electric-pair-mode to autocomplete quote pairs and parentheses
 - Dabbrev: Inbuilt completer of words based on the text that is already in the buffer
 - Abbrevs: Inbuilt customisable text expansion similar to MS Word's Autocorrect
 - Skeletons: Like Abbrevs, but more advanced, with an ability to put the point automatically anywhere in the middle of the expanded text or to stop for a manual completion at relevant points, e.g. autoexpand "There are", then stop to manually type e.g. "seven", then proceed to autoexpand "important things to keep in mind about this." all within one skeleton
 - Even handier word-level autocompletion is available with external extension company-mode
 - Originally Emacs has its own isolated copy-paste history called kill-ring, but this can be combined with the system clipboard with (setq select-enable-clipboard t)
 - Snappy startup by configuring an Emacs server as a daemon and thereafter launching emacsclient -c (or emacsclient -ct for terminal-only or even emacsclient --tty), which is far more appropriate when using Emacs as the environment for web forms, forum posts, etc.
 - Dired: Inbuilt file management, file search, opening, moving, deleting, etc.

By a lucky coincident I was even able to install Emacs on my work computer. It is possible only to install programs through the company-internal software app and, for a moment possibly by someone's mistake, Emacs showed up there. Now I have it and nobody else can have it :) I don't think I would be able to survive this job for long by having to type in MS Word.
Prose sentences are recognised out of the box, if there are two spaces between sentences. It appears that many writers in the English-speaking world are taught to type this way. To be able to recognise sentences by period followed by a single space, use (setq sentence-end-double-space nil).

Re: What's the best kind of interface for writing and typing?

Reply #53
It appears that many writers in the English-speaking world are taught to type this way.
I think that's probably outdated, but it is indeed something the English speaking world liked to do on typewriters with monospace fonts.

Re: What's the best kind of interface for writing and typing?

Reply #54
On a monospace typewriter it would be a noticeable eyesore :) I have been noticing this for some ten years or more in blog posts in Blogspot, Wordpress etc. and only figured it out recently.

Re: What's the best kind of interface for writing and typing?

Reply #55
This guy uses Emacs to write screenplays.

[video]https://www.youtube.com/watch?v=Be1hE_pQL4w[/video]

Fountain is a markup format for screenplays. When you learn all about it, you can try go Hollywood https://fountain.io/


Re: What's the best kind of interface for writing and typing?

Reply #56
Are screenplays required to look like they were composed on a typewriter?

Re: What's the best kind of interface for writing and typing?

Reply #57
Are screenplays required to look like they were composed on a typewriter?
Ever since printers became a thing (as in printing out of a word processor on a computer), you can have variable font, but otherwise yes, the conventions are as they are. If you type in MS Word or such, you'd have to do the drama-esque indentation and allcapping. In Fountain format you can omit the indentation, from what I read in the specification, but Fountain will apply the indentation upon export.

Edit: Nah, I was wrong. We are talking Hollywood, and apparently it has to be exactly as if on typewriter:
Here are the basics:

- 12-point Courier font
This makes sense too, as this font with wide line spacing is better readable from distance. But in theatres (as in non-movie) over here Times New Roman is commonplace, or whatever MS Word puts on out of the box these days.

Re: What's the best kind of interface for writing and typing?

Reply #58
This makes sense too, as this font with wide line spacing is better readable from distance.
Perhaps it would yield a more dependable script length to minutes of film conversion compared to a variable width font. Although I don't find that hypothesis particularly plausible.

Speaking of typewriters, here are some new pictures:
http://xahlee.info/kbd/hermes_ambassador_b1-c.html
http://xahlee.info/kbd/smith_corona_vtx_100.html
http://xahlee.info/kbd/aeg_olympia_cpd_3212a.html

Re: What's the best kind of interface for writing and typing?

Reply #59
There may be some rough estimation of the length of the movie based on the length of the script (even though more likely the producers determine the limits: up to this length and no more). What I know is that the actors have the script in hand (or there is a loudreader-person with the script in hand) when they practise, so the pages need to be
- legible and
- leave wide margins for possible notes and remarks.

Particularly (non-movie) theatre actors practise a lot and carefully until they master the entire script properly. In contrast, movie actors practise on a scene basis, the production process may include helluvalotta rewrites and the actors need to keep up with the changes.

Re: What's the best kind of interface for writing and typing?

Reply #60
This guy is a bigger hater than Xah Lee. He hates Emacs so much that he made his own distro, called Commercial Emacs.

https://www.youtube.com/watch?v=kflDJ9L4siw

And yes, Emacs' slowdown on long lines is a serious obstacle when editing webpage files and should have been fixed last century. It sometimes gets in the way in basic prose too.

Re: What's the best kind of interface for writing and typing?

Reply #61
That was quite amusing.

Re: What's the best kind of interface for writing and typing?

Reply #62
From another video of his it appears that he is brother of Tech Lead (as a millionaire) who is probably familiar to you. Dick Mao[1] is a far more creative insulter and intensely angry at life, but it's nice that he is less scummy and less scammy than Tech Lead. And rewriting Emacs is a life choice I definitely understand.

A while ago I read some book that talked about how there used to be a type of computers called Lisp machines that by now have ceased to exist. Such a terrible loss, but apparently RMS noticed early enough where the wind was blowing and made his GNU project a Unix-like, which turned out to be the correct choice. Still, it would be nice to have a machine that only runs Lisp and whose only job is to launch Emacs.

I have thought about the controversy that Emacs does not adhere to "Unix philosophy" that programs should be small, do just one thing and do it well. Instead of a philosophy, it seems to be a limitation of C language. C is binary-compiled. When you launch a the binary, it loads everything into memory, but since memory was precious in old times, C programmes could not afford to be big. So the so-called philosophy is due to the nature of C language. Whatever Unix-like there is in the GNU project, it is done as per Unix conventions and limitations of C. Emacs does not have to obey the limitations of C.
Now that's an amusing username, or maybe real name.

Re: What's the best kind of interface for writing and typing?

Reply #63
From another video of his it appears that he is brother of Tech Lead (as a millionaire) who is probably familiar to you.
Somewhat. Insofar as I am I definitely don't want to watch him.

I have thought about the controversy that Emacs does not adhere to "Unix philosophy" that programs should be small, do just one thing and do it well.
Since you mentioned Xah. ;)
http://xahlee.info/UnixResource_dir/_fastfood_dir/fastfood.html

Re: What's the best kind of interface for writing and typing?

Reply #64
Bram Moolenaar has died. He was the lead developer of Vim, the improved version of 'vi' text editor. My guess is that Vim will become legacy and Neovim will outgrow it. However, Vim was here first and served as inspiration for its forks, of which Neovim will probably become most successful. Vim is history in a good way.

I learned Vim long before Emacs. Vim and 'vi' are easier to get into than Emacs. They are just not easy to get out of. But at one point I managed to grow out of Vim and wanted more.

I found that the editor that does the Vim concept best is Kakoune. One reason is the interface paradigm: Kakoune is based on selections, which is my kind of thing. As somebody put it, "Kakoune is Vim's visual mode done right." Another reason is Kakoune's command input language. In Vim it is "do thing". In Kakoune it is "thing do". Thus in Kakoune you first select an entity like the word or line or such, and then decide whether you want to cut it or copy or overwrite it, but in Vim you need to first decide if you want to cut or copy or overwrite, and only then you can select what it is what you want to cut, copy or overwrite. Kakoune's way is more to my liking.

Then I still wanted more. According to Vim concept, the keybinds spell out the operative language of the editor. The idea is that you learn the keybinds and you will know how to operate the editor. But additionally, there is also the configuration language, which is a different beast. In Emacs, Lisp is both the operative and the configuration language whereas keybinds are essentially an arbitrary extension and could in principle be entirely rewritten (and they have in some Emacs distros like Doom Emacs and Spacemacs). So in Emacs in my opinion it works the right way: If you really want to operate, then learn the operative language and you will be able to operate more fully and deeper than mere keybinds ever could. However, there has been some good thought put into grouping Emacs' many keybinds, so that the default keybinds are still worth learning in my opinion. But it is even more worth knowing that everything can be done by M-x and far more can be done by M-: and all commands and functions can be combined and compounded in Lisp. The only thing I don't like in Emacs is that residually there are some external GNU commands being triggered like grep and diff. Absolutely everything should be Lisp.

Bram Moolenaar's Vim has been a wonderful stepping stone on my journey through editors. Vim was my first geeky advanced editor.

Re: What's the best kind of interface for writing and typing?

Reply #65
In Emacs, Lisp is both the operative and the configuration language whereas keybinds are essentially an arbitrary extension and could in principle be entirely rewritten (and they have in some Emacs distros like Doom Emacs and Spacemacs).
Vim has Vimscript, but that's why Neovim has Lua instead.

Re: What's the best kind of interface for writing and typing?

Reply #66
Vim has Vimscript, but that's why Neovim has Lua instead.
Lua is a choice that provides more opportunities than Vimscript, but it is still an API to the programme you are configuring. In contrast, Lisp is the heart, soul and flesh of Emacs.

These are fundamental questions that I have had to ponder on my quest for the best interface to writing and typing. What is primary and ultimate among the following?
- Keybinds
- Operative language (= the commands or functions triggered by the keybinds)
- Configuration language (= the syntax of the config files)

(Of course there are more fundamentals than listed. For example, I definitely want a window to edit in, instead of having to deal with a line-spitter like 'ed'.)

My preferred text editor in Linux for a very long time, even after learning Vim, was Nano: Sensible keybinds, enough functions, and some ability to change the keybinds. In old Opera, the keybinds triggered commands defined in INI, which was easy to learn and rewrite.

The Vim concept (or more properly the 'vi' concept) at first enforces the doctrine that keybinds and the operative language are the same. The keybinds that you learn and use are the commands triggered. The keys h, j, k and l etc. trigger commands h, j, k and l etc. which makes up the operative language. This is in fact inherited from 'ed' along with a separate mode for text insertion − you need to switch to a different mode in the editor to type text instead of issuing editor commands. And also the configuration language is by necessity different from the operative language. While it can be helpful for beginners at first to consider keybinds and the operative language as the same thing, things get complicated as you configure settings.

Neovim plugs in a proper programming language, so that the operative language and the configuration language become the same, and you can start thinking of keybinds as something separate and independently changeable, which is the way things are in Nano, in old Opera and frankly pretty much universally. There apparently is an Emacs-like set of keybinds for Neovim, but once you think of keybinds as separable and changeable, then no particular set of keybinds is revolutionary anymore. Rather, it begins to matter how deep the language can go into the programme. Can you extend the programme to do almost anything and rewrite almost everything?

Once upon a time I tried to understand programming but lost hope early on. Programming was a deep mystery to me and all my attempts to self-learn it failed. I could not find any reasonable beginner's resources. I was stumped already by the name. They are called programming languages, so I thought of them as languages. If they are languages, then I should be able to type the language in correct syntax and the computer should understand it, right? Wrong. Only Emacs made me understand what programming languages are. They are software. Like any other software, you need to install it, then open it up and learn to use it. So, to make a programming language do stuff for you, you need to install and open up the programming language app. Software programmes are made of functions and settings interfaced as keybinds, menus, form options etc. that you select and apply to make the software programme do stuff. In a programming language app, the programming language itself is the set of functions and settings and you apply it by typing it in correct syntax in the editor-like thingie. The typing serves as input for an interpreter or compiler and only then the output from the interpreter or compiler is able to do stuff.

So in my quest for the perfect interface for writing and typing the latest revolutionary event has been the realisation that it is possible to reach the goal by becoming a programmer, take what programmers use for programming, and then programme it further. GNU and Linux have both been written in Emacs, so evidently it is the text editor of choice for those who write opsyses worth of software.[1] My aim is word processing rather than coding. The difference is that in coding you create and debug functional entities, whereas in word processing you create and navigate prose. The main common point between the two activities is navigation. In a complete or near-complete work, another common point is search&replace. Search&replace is the entry point to text processing, which in turn is the entry point to programming, and Emacs connects it all. After the beginner stage in Emacs one can learn to build more sophisticated functions for navigation and search&replace, which teaches Lisp, which in turn opens the door to extend and rewrite pretty much everything in Emacs, at which point one is a Lisp programmer.
Incidentally, I do not think that "Do one thing well" is really a Unix philosophy. Rather, it is an imposition of C language. When you build a big complicated C programme, it requires too many resources (due to the monolithic nature of compiled C) and is hard to debug. So "Do one thing well" is an imposition of C and of lack of resources. Whereas the sprawling nature of Emacs is enabled by Lisp, which is a language to be changed on the fly, it does not need recompiling, and when you launch the Lisp behemoth, you only load the parts you need, instead of all of it like in any C programme. Emacs was used to write the Unix clone GNU/Linux, so it is perfectly sensible to think of Emacs as in full harmony with Unix philosophy, whatever the philosophy is.

Re: What's the best kind of interface for writing and typing?

Reply #67
Incidentally, I do not think that "Do one thing well" is really a Unix philosophy. Rather, it is an imposition of C language.

There is this essay of unknown provenance dating back to at least the '80s:
Quote
Last night I dreamed that the Real World had adopted the “Unix Philosophy.”

I went to a fast-food place for lunch. When I arrived, I found that the menu had been taken down, and all the employees were standing in a line behind the counter waiting for my orders. Each of them was smaller than I remembered, there were more of them than I'd ever seen before, and they had very strange names on their nametags.

I tried to give my order to the first employee, but he just said something about a “syntax error.” I tried another employee with no more luck. He just said “Eh?” no matter what I told him. I had similar experiences with several other employees. (One employee named “ed” didn't even say “Eh?,” he just looked at me quizzically.) Disgusted, I sought out the manager (at least it said “man” on his nametag) and asked him for help. He told me that he didn't know anything about “help,” and to try somebody else with a strange name for more information.

The fellow with the strange name didn't know anything about “help” either, but when I told him I just wanted to order he directed me to a girl named “oe,” who handled order entry. (He also told me about several other employees I couldn't care less about, but at least I got the information I needed.)

I went to “oe” and when I got to the front of the queue she just smiled at me. I smiled back. She just smiled some more. Eventually I realized that I shouldn't expect a prompt. I asked for a hamburger. She didn't respond, but since she didn't say “Eh?” I knew I'd done something right. We smiled at each other a little while longer, then I told her I was finished with my order. She directed me to the cashier, where I paid and received my order.

The hamburger was fine, but it was completely bare… not even a bun. I went back to “oe” to complain, but she just said “Eh?” a lot. I went to the manager and asked him about “oe.” The manager explained to me that “oe” had thousands of options, but if I wanted any of them I'd have to know in advance what they were and exactly how to ask for them.

He also told me about “vi,” who would write down my order and let me correct it before it was done, and how to hand the written order to “oe.” “vi” had a nasty habit of not writing down my corrections unless I told her that I was about to make a correction, but it was still easier than dealing directly with “oe.”

By this time I was really hungry, but I didn't have enough money to order again, so I figured out how to redirect somebody else's order to my plate. Security was pretty lax at that place. As I was walking out the door, I was snagged by a giant Net. I screamed and woke up.