I appreciate the effort that went into writing the article but it conflates different concepts missing some historical context and technical distinctions.
For example, TUI (text user interface) and CLI (command-line interface) are quite different. "CLI Text Editor" sounds more like someone editing a file using ECHO commands.
This new editor is actually a reimplementation of the classic MS-DOS 5 EDIT program from 1991. At that time, VIM was still very new, so "VIM memes" weren't yet part of the tech landscape.
Before VIM, there was vi. In Usenet posts - about 15 years before Google - people used to add a pithy humorous sentence at the bottom called "tagline" - here is one: "How do you exit vi? Reboot the system."
And Notepad was not the only option for Windows devs. We've had EDIT, DR-DOS EDITOR, Brief, WordPad, EditPad, Notepad++, and more.
skissane 14 hours ago [-]
> This new editor is actually a reimplementation of the classic MS-DOS 5 EDIT program from 1991
MS-DOS 5 EDIT is actually just a stub which runs QBASIC in editor mode, in which all the BASIC-related features are disabled.
Windows 95 EDIT was different, it actually had BASIC removed from the binary. I don't know if it was a rewrite or if they just deleted (or even #ifdef-ed) out the BASIC parts out of the source code.
QBASIC was basically just a cut-down build of QuickBASIC with some features disabled. The TUI part was provided by the "Character Windows" (aka "Character-Oriented Windows", CW or COW) library, a TUI-mode analog to the Windows 3.x API for DOS TUI apps, it was also used by some other Microsoft products such as Word for DOS. It would be great were Microsoft to open source it (although from what I've heard, significant chunks of this stuff have already been included in various leaks of DOS and Windows source code, but it would be nice to have it publicly available in a completely kosher way)
pico303 8 hours ago [-]
The target market for this editor seems infinitesimal. Who on Windows these days groks the terminal on Windows, wants a terminal editor instead of Notepad++ or VSCode, and finds Neovim overwhelming? And certainly no one on Ubuntu is looking for this.
That said, give me QuickBasic back in the terminal on Windows, Mac, and Linux, and now you’ve got my attention…
donatj 9 hours ago [-]
> QBASIC was basically just a cut-down build of QuickBASIC with some features disabled
Huh, I've wondered about the difference for the last 30+ years.
mattl 7 hours ago [-]
QuickBASIC, Visual BASIC for DOS and PDS (Professional Development System) all had some variation on the same design. PDS has QuickBASIC Extended.
I briefly worked with them.
marttt 1 days ago [-]
I've long quit using vim on a daily basis, but the "how to exit Vim?" jokes are still somehow funny. A recent encounter was an old tweet by @iamdeveloper: "I've been using Vim for about 2 years now, mostly because I can't figure out how to exit it."
:wq (sorry, I had to).
pjio 1 days ago [-]
Quitting vim isn't about exiting the program, which can easily be done with :!kill -9 $PPID
__MatrixMan__ 20 hours ago [-]
Quitting vim became easy once I got to know helix. I've been clean for several weeks.
eddd-ddde 8 hours ago [-]
You should check out kakoune! It's very similar to helix, motion first, multi selection, and stupid easy to script.
marttt 20 hours ago [-]
Easy-peasy!
tylerchilds 24 hours ago [-]
i quit vim like
ctrl-z
Jenk 1 days ago [-]
`ZZ` to save and quit, `ZQ` to quit without saving. Sorry, I can't help myself.
Brian_K_White 1 days ago [-]
I've always used :x or :x! and no longer remember why. Probably it's a bad idea like without actually looking right now I think it might mean to ignore permissions (if you're root enough) and just write even if perms would have blocked it. Hm, maybe x means wq and just the ! means force.
mklein994 1 days ago [-]
It's actually a bit more nuanced: `:x` is like `:wq`, but only writes if changes have been made. `:x!` has the same semantics as `:wq!`.
BoiledCabbage 1 days ago [-]
The fact that everyone says the meme is dead, but in this small thread there are 5 different people posting how to exit, and none of them are the same says there is still pretty good substance behind that meme.
Brian_K_White 23 hours ago [-]
I think we're all kind of implicitly acknowledging the truth of the meme. I mean that was definitely a conscious part of my own comment.
humanperhaps 1 days ago [-]
I feel like the default behavior should be to not write unless changes have been made. I may be misunderstanding here, but what would be getting written if nothing's been changed?
johannes1234321 1 days ago [-]
It would overwrite changes made by external programs.
greiskul 1 days ago [-]
Metadata about the file like modification time.
entelechy0 1 days ago [-]
[dead]
EFreethought 7 hours ago [-]
I think sysadmins should install nano on servers for people to make quick edits. All the commands are along the bottom, so there is no learning curve.
onetom 3 hours ago [-]
or they should just make sure emacs can work with the machine thru ssh, then there is nothing to install ;)
if no ssh, then nano is not a bad option, though i would go with joe (https://joe-editor.sourceforge.io/) which can also show the shortcuts, but much much more powerful, yet it's just a single ~700kbyte exe (or 1.5MB with some optional syntax highlighting grammars and docs)
opan 57 minutes ago [-]
>or they should just make sure emacs can work with the machine thru ssh, then there is nothing to install ;)
While (neo)vim doesn't have TRAMP and dired, it has netrw, which does the same stuff (on a basic level). You can do the following to edit a remote file:
vim scp://user@hostname/path-to-file-here
You can also replace user@hostname with an ssh alias you've configured, which makes it easier to work with multihop ssh and different keys and users. One useful usage of the remote editing is to combine it with opening multiple files to compare two files on different machines:
vim -O ~/.config/mpv/mpv.conf scp://htpc/.config/mpv/mpv.conf
To browse a directory instead of a specific file, just put the dir instead of a non-dir file and it will open a filebrowser view where you can then pick a file to open. In the above examples, leave off mpv.conf and you'll then be able to pick either your mpv.conf or input.conf or files related to your mpv scripts.
JadeNB 5 minutes ago [-]
> For example, TUI (text user interface) and CLI (command-line interface) are quite different. "CLI Text Editor" sounds more like someone editing a file using ECHO commands.
Sounds like ed, or edlin for the DOS oldies, to me.
Jenk 1 days ago [-]
Before vim was vi. Befote vi was ex. (Before ex was ed - the first editor for unix)
Vim has ex built in - `Q` in normal mode to enter Ex mode, 3-5 command lines will show at the bottom and you can Ex away. I don't know of practical uses, I've only done it for the novelty.
Obligatory: To exit Ex mode use `:vi[sual]` - and that's probably where Vi got its name.
my biggest problem with azure was also the fact that they couldn't stick to industry-standard terminology, but they has to invent their own. it made azure docs tremendously confusing.
da_chicken 36 minutes ago [-]
I understand the categorization you want to draw, but I don't think convention and usage are going to back you up well enough to solidify it.
Sometimes people use CLI to mean something you're literally doing at the shell prompt, and sometimes people use CLI to mean anything that isn't a GUI. And the Venn diagram of those meanings has significant overlap when both of those meanings are contextually valid and the end result of the meaning is functionally identical.
If I say, "instead of Firefox I'm using lynx, a CLI web browser," it's not really so ambiguous what I mean that you're confused. You can do backflips and dodge context to arrive at being confusing, but you really have to cross into disingenuous reading to get there.
The fact that you CAN draw a difference does not actually mean that the author needs to in order to communicate effectively.
hk1337 1 days ago [-]
> This new editor is actually a reimplementation of the classic MS-DOS 5 EDIT program from 1991.
I remember editing the AUTOEXEC.BAT in that thing as well as writing my own BAT files and QBASIC.
bee_rider 1 days ago [-]
Does the exclamation point work in vi, like vim? So the way to exit is to do:
:!killall vi
Of course.
For a cli text editor, ed would qualify, right?
diggan 1 days ago [-]
> For a cli text editor, ed would qualify, right?
It'd still say ed is more of a TUI than CLI, albeit kind of old-school since it doesn't redraw the screen, just continuously show output and let you enter commands. Maybe "REPL" comes closer, because it's not interactive in the typical TUI way.
layer8 1 days ago [-]
I fail to see the difference between REPL and CLI here. Any line-based interactive interface where you type commands is a CLI, like for example the ftp or mysql clients in interactive mode. Or, indeed, ed.
MobiusHorizons 1 days ago [-]
Personally I usually make the distinction based on whether the process has to switch the tty to raw mode and overwrites the full screen (typically using ncurses), but it sounds like the person you are replying to makes the distinction in whether the program needs user input while executing. I guess such programs are more likely to work in pipelines or shell scripts
layer8 1 days ago [-]
Unix shells “need user input while executing” in that sense. A program not being a Unix shell doesn’t make it non-CLI. A shell constitutes a CLI due to its interactive line-based user interface. Any other program with such an interface counts as being a CLI program for the same reason.
kristjansson 1 days ago [-]
Could you run it on an actual teletype without consuming an entire forest worth of paper? That’s a CLI. Otherwise it’s a TUI.
layer8 1 days ago [-]
I don’t agree, it’s consecutive line output vs. screen-based rendering and repositioning. Regardless, ed was developed for and used on actual teletypes. It’s entire interface is geared towards that usage.
Brian_K_White 1 days ago [-]
I think ed also served the function of sed and patch. Ie you could record a bunch of edits into a file and it could read the script and perform all the edits to some input file. So it was more useful than an interactive line based editor sounds.
layer8 1 days ago [-]
This is the same distinction as between running commands with bash -c (or just by executing a regular Bash script) and running them manually in an interactive Bash session. It’s pretty much an inherent feature of command-line interfaces that you can script them.
Brian_K_White 22 hours ago [-]
Wasn't intended to be a distinction but an aside.
But as to that, it's slightly different than merely being able to play back a recording of commands. It IS that, but that can be applied in a way that acts more like the examples I said like sed or patch, or expect, where the script can apply some funcion to different inputs, not just playing back a recording. I'm not denying the implimentation, how the job gets done, is technically still just a recording of commands.
lern_too_spel 13 hours ago [-]
It's different. Grep was a function of ed ('g/re/p') that was later extracted into its own program to search files that could not fit in memory. Sed then came along and implemented the 's/re/substitution/' functionality from ed for the streaming use case.
Brian_K_White 1 days ago [-]
They are obviously "command line interfaces" in that the interface is that you enter lines of commands.
They are equally obviously different from the non-interative interface where all input is provided in the command line arguments and other shell syntax (pipes, redirection).
ls is a cli app. bash is an interative app that provides the cli environment in which you use ls.
I fail to see what is gained by trying make the meaning of "cli app" unclear when it definitely has an understood meaning, just because you can technically assemble the same words to mean other things. Sure in certsin contexts where you are speaking more geneticslly and more abstractly like in some research paper you may refer to a wide range of things all as "command line interface". But so what? How does noting that help in this context? (It does not)
layer8 1 days ago [-]
I disagree that it is well-understood in the way you describe. I agree that there are two distinct concepts: 1. Programs that can be run as a CLI command, often without further user interaction (but consider cases like rm -i, which are quite common), and 2. programs that expose their functionality by providing their own interactive CLI.
In the case of 1, the program’s argument syntax can be referred to as the program’s “command-line interface”. But the abbreviation “CLI” usually means the interactive interface as in 2.
The latter is analogous to the notion of how TUI programs provide their own interactive interface. When making the distinction between CLI and TUI, it’s the latter that is meant, i.e. is it a line-oriented or screen-oriented user interface.
Saying “CLI editor” doesn’t imply that the editor commands are necessarily invoked as non-interactive shell commands, as opposed to the editor providing a CLI of its own.
Technically, every program can serve as a “CLI command”, since you can invoke it with arguments. However, “command line” is generally understood to mean the user interface where the user types commands, as opposed to non-interactive program invocation. When invoking a program with arguments from another program with exec or similar, you don’t call that a CLI.
Jenk 1 days ago [-]
Ed was designed in an age where the visual interface was a printer - so it is most assuredly a cli tool :)
1 days ago [-]
hamburglar 1 days ago [-]
Is it actually important that we come up with a formal definition of these things, though? They are colloquial terms, there is some overlap, and people are always going to use one or the other “incorrectly” according to you. It’s more important that we recognize that’s a potential source of differing terminology and ignore that rather than fixating on it.
WD-42 1 days ago [-]
Not sure why you are downvoted this is entirely correct
spauldo 20 hours ago [-]
Probably because most of us don't think it's correct at all.
TUI apps aren't common anymore, which adds to the confusion as a lot of people didn't grow up with them and don't grasp the difference. A TUI app takes control of the terminal and redraws different parts of the screen to present a consistent, non-scrolling experience. If you've ever used a system where your interface was an IBM 3270 emulator (or better, an actual 3270 terminal), that's TUI. vi/vim and non-GUI Emacs are also TUI.
A CLI app just prints its output at the cursor and the output scrolls off the top of the screen as you go. The Bourne, Korn, Bourne Again, and C shells are all CLI, as are most REPLs and the majority of interactive non-GUI UNIX programs (including ed) these days.
rbanffy 1 days ago [-]
MS-DOS had edlin, which was their own take on ed. They never made a firm commitment, however, to make edlin the standard editor.
aforwardslash 24 hours ago [-]
Edlin was the standard editor in dos 3.x. As far as I can remember, edit came later (dos 4.x-5?)
rbanffy 21 hours ago [-]
I don’t remember any tools that output edlin commands that could be piped to it the same way it’s done with ed.
roryirvine 1 days ago [-]
for maximum excitement, try that killall method on a SysV unix...
spauldo 20 hours ago [-]
Ye gods, I had managed to bury that memory! Went from Slackware to Solaris, and then used killall while teaching a UNIX class. Everyone got a laugh and a smoke break, and I got knocked down a peg.
People do know the technical difference, it's just a shorthand
JdeBP 1 days ago [-]
Interestingly enough, the weird re-boosting to get more views thing that Hacker News sometimes does is making it seem like I said all of that 5 hours ago.
MicroEmacs is small and lightweight. I port it to whatever machine I'm using, and it works nicely in a remote tty window. It doesn't need a customization language, as I just change the source code.
Recently, I added color syntax highlighting to it, and support for unicode characters.
For how long have you been coding without syntax highlighting?
WalterBright 38 minutes ago [-]
Since my hair left for the Klondike gold fields.
reaperducer 1 days ago [-]
In Usenet posts - about 15 years before Google - people used to add a pithy humorous sentence at the bottom called "tagline"
We always called them "signatures." They were even stored in a file named .sig.
felineflock 1 days ago [-]
The tagline was below or at the end of the signature.
They were stored separately in a list and there was software that would pick one of them randomly to add to the signature when posting.
invaliduser 1 days ago [-]
taglines where witty one-liners posted at the end of messages, after the signature, as a way to add a bit of humor or personality.
I think we also used them in fidonet echomail, but I don't remember for sure.
JdeBP 1 days ago [-]
The problem is that the nomenclature and conventions differed, and this many years later people tend to conflate them.
BBS networks like ILink had tearlines, optional taglines, and mandatory origin lines. FidoNet had tearlines and origin lines because it shared roots and sometimes nodes with the BBS networks; so they were there for compatibility. Usenet mainly had signatures, with all of its equivalents to the other stuff in headers.
In echomail they were known as "Origin" because the intended purpose of that line was to identify the originating node. It looked like this:
* Origin: any random text (12:34/56.78)
The text was supposed to be the name or description of the node, but this wasn't mandated by the rules, and the address at the end unambiguously identified the node anyway for anyone who cared, so people quickly repurposed it for taglines.
angled 1 days ago [-]
^H^H^H^Hsignature
snozolli 1 days ago [-]
TUI (text user interface)
I find it interesting that everyone is using TUI when I've always seen CUI (Character User Interface). I come from a DOS and Windows background, and it seems like TUI comes from the *nix world.
And Notepad was not the only option for Windows devs.
Dr Dobbs and other tech magazines used to have ads for a variety of editors. And linkers, which were the bane of 80s programmers' lives. There was a whole era of programmer-oriented software that seems to have been largely forgotten.
layer8 1 days ago [-]
My understanding is that CUI includes both TUI and CLI, and refers to the interface of a text-mode screen (as opposed to a graphical screen — a GUI), where you can use both CLI commands and TUI programs.
So, technically, if you’re using a TUI in a graphical terminal window within a GUI, you’re strictly speaking not in a CUI, but are emulating a CUI within a GUI. And the CLIs and TUIs are running within that CUI.
card_zero 1 days ago [-]
Oui.
snozolli 20 hours ago [-]
I don't agree with that. I first heard CUI used to describe software like the Turbo Pascal IDE. I believe that "CUI" came about when GUI was coined to describe the modern graphical interface like Windows and Macintosh. That was in the latter 80s and early 90s. I've never heard TUI until literally today.
Additionally, TUI is either Text or Terminal User Interface. Either way, it seems to be heavily associated with ncurses. As I understand it, ncurses essentially outputs a stream, which includes things like ANSI escape sequences for position and color. By contrast, CUIs like Turbo Pascal wrote directly to video memory.
layer8 11 hours ago [-]
It’s true that TUI is a newer term than GUI and CUI. However, it isn’t exactly a new term either, its Wikipedia page was created in 2004. Look at the screenshots for illustration of what is considered a TUI: https://en.wikipedia.org/wiki/Text-based_user_interface
The technical means of how the contents of the TUI is established (character stream with special codes, or direct writes to text-mode video buffer) is largely irrelevant for the term. The essential characteristic is that the visual “state space” of the interface is a character matrix, and that the program treats it as such (instead of just unidirectional line-based output).
Maybe you are right that CUI actually doesn’t cover CLI. The Unix System V documentation uses “Character User Interface” for curses-based interfaces (https://books.google.com/books?hl=en&id=idAmAAAAMAAJ). Then CUI and TUI are roughly synonymous, though TUI is the widespread term nowadays.
pxc 1 days ago [-]
I came here to pick the first of those nits, too. A concrete example that sums it up: sed is a command-line text editor; nano is a TUI text editor.
sjmulder 1 days ago [-]
Btw, CLI editors can be interactive too: consider ed ("the standard text editor") and DOS' edlin.
skywhopper 24 hours ago [-]
You’re missing ‘ed’ (and its predecessor ‘qed’) which is actually a CLI text editor.
1 days ago [-]
holowoodman 1 days ago [-]
you forgot EDLIN
esafak 1 days ago [-]
'coz it's better forgotten! Who could guess it was made in two weeks in 1980? Anyone who fired it up!
That's the thing about open source. Some projects are just maintained for fun, not because they're broadly used or the best tools for a job.
wodenokoto 16 hours ago [-]
I forgot how the punchline is phrased, so apologies for the atrocious delivery, but I like the one about “I do all my coding in VIM, because I don’t know how to exit VIM”
simonw 1 days ago [-]
This inspired me to have a try at running Edit on macOS via Docker - here's what I got working (should work for anyone else with Docker installed on Apple silicon too, I pushed the image to the GitHub Container Registry):
This was harder to quit than vim. ctrl-f didn't work and there's no alt on my keyboard; hard pass.
da_chicken 21 hours ago [-]
I don't understand. You don't have an option key, either?
Or are you not on a Mac, PC, or Chromebook?
commandersaki 15 hours ago [-]
On a macbook pro, option key just gave me a ƒ symbol, both in Terminal.app and Ghostty. Anyways, if that was meant to be alt and it requires setup to work, then it's not worth the effort.
Aaron2222 13 hours ago [-]
Terminal.app has a setting "Use Option as Meta Key" that needs to be enabled. It's under the Edit menu as well as in Settings > Profiles > Keyboard (if you want, you can click use Command-A to select all the profiles to apply the change to all of them at once). Ghostty will have a similar option.
Also surprised you haven't encountered this earlier, given it affects all usage of Alt in the terminal.
rfl890 1 days ago [-]
Just wondering, why did you make an entire container image instead of trying to compile it from source first?
simonw 24 hours ago [-]
Mainly because I wanted an excuse to figure out how to package tools like this using Docker.
It also felt like a better way to distribute the tool for other people to use: I don't want to distribute a compiled binary (because in macOS you then need to sign it for other people to use it), but a Docker incantation skips that step.
VikingCoder 24 hours ago [-]
Because now I can use their Docker image trivially. They can also trivially use their Docker container on multiple computers, multiple VMs, multiple VPSs. They can Docker Compose it into other Docker images they're setting up, too.
I'm definitely not a Docker expert, but I've become a huge fan.
kinduff 1 days ago [-]
I built it for macOS natively and it works like a charm!
hiAndrewQuinn 1 days ago [-]
Apropos of the shortcuts here, I always wonder why developers don't go out of their way more often to memorize the Ctrl+C, Ctrl+V, ... shortcuts in use basically everywhere today except the terminal. I believe they stem from the IBM Common User Access (CUA) design standard.
In particular the fact that Ctrl + anything letter-oriented makes something that is word-oriented instead, for example Ctrl + Left Arrow and Ctrl + Right Arrow let you skip word-by-word in documents, and Ctrl + Backspace lets you delete entire words at a time. This feels like it should be way more common knowledge than it is, like how copying and pasting any multiline document into your browser's URL bar will almost certainly format it into a sane single-line format.
layer8 1 days ago [-]
The CUA bindings for Cut, Copy, Paste are actually Shift+Delete, Control+Insert, Shift+Insert.
Microsoft adopted the X/C/V shortcuts from the Macintosh for Windows 3.0 (replacing Command by Control; Alt was already used for invoking menus and the like), in addition to the existing CUA shortcuts (which are still supported and used today).
kule 1 days ago [-]
“Except the Terminal”…
Of course in the Mac you have the same shortcut in every app because you use cmd+c/v
It really bugged me that by default you use ctrl+shift+c/v on Linux but only in the terminal.
Found a lovely feature in kitty term that does the right thing for ctrl+c depending on if you have text selection or not. Works great for me.
sureglymop 1 days ago [-]
Actually, on macOS you have the same shortcuts as gnu readline in any text editing field.
You have these same shortcuts in bash, zsh, the python repl, html form fields, etc. And anything that doesn't use gnu readline can be wrapped in rlwrap.
Note that copying and pasting is an exception. Otherwise, navigating words with shortcuts seems to fairly universally use these shortcuts.
MangoToupe 1 days ago [-]
They're really emacs keybindings that readline adopted if I may be allowed a small amount of pedantry.
nyarlathotep_ 1 days ago [-]
Appreciate the clarity here; I always wondered which "came first"
culebron21 1 days ago [-]
My experience on MacOS is that every program has different shortcuts regarding text editing. Home/End/PgUp/PgDn on my external keyboard just not working, and if added to system settings, they still don't work in some apps, Ctrl+Left sometimes working sometimes not, etc.
And what Ctrl/CMD/Shift keys do together looks very random, no logic in it. Like, Ctrl+Left in Zsh scrolls the entire log to top, rather than move the cursor to the start of the line.
I use zsh, slack, Chromium, SublimeText and Zed on Mac.
kule 1 days ago [-]
Yep, which is really handy. I was specifically talking about copy and paste shortcuts being the same even in the terminal though.
hbnjgf 1 days ago [-]
Unless you are not using X, selected text us also automatically available for copy using the middle mouse button
cxr 1 days ago [-]
> I always wonder why developers don't go out of their way more often to memorize the Ctrl+C, Ctrl+V, ... shortcuts in use basically everywhere
What developer doesn't have these shortcuts memorized? It sounds like you're living in some bizarro world.
skydhash 1 days ago [-]
I know devs that still right click for copy and paste.
cxr 1 days ago [-]
I don't know what function the word "still" is intended to perform in this sentence. I, too, copy and paste using the context menu—sometimes, i.e.: when it is most appropriate and/or convenient to do so.
But the question is: what developers don't know about the standard keyboard shortcuts for copy and paste? Do they exist in any statistically significant numbers? ("There exists X" is not a very meaningful contribution if the Xs involved are something like 0.01% and are outnumbered by the number of programmers who write all their code on their mobile phone or whose version control strategy is to inscribe all their programs on a Tic Tac or a grain of rice or who think that Commodore 64-inspired homegrown operating systems are specially positioned to reveal the Word of God and offer protection against being pursued and persecuted by the CIA. Or are these some special breed of 9-to-5 darkmatter programmers who aren't going to show up on the radar, anyway?)
jayd16 1 days ago [-]
Its safer in an unfamiliar terminal than accidentally killing the app with Ctrl-c.
JulianWasTaken 1 days ago [-]
Always a take which sprouts vehement arguments, but this is something macOS gets extremely right, as Cmd-C, Cmd-V, etc. indeed work everywhere including the terminal, and Ctrl-C in the terminal is reliably SIGINT.
3eb7988a1663 1 days ago [-]
I also criss cross enough different terminals and systems that I never know if it is Ctrl-C or Ctrl-Shift-C. Same with paste.
dotancohen 4 hours ago [-]
Try Shift-Insert. Works everywhere, never overloaded by something destructive.
silon42 1 days ago [-]
It would be nice if we could use Ctrl+Break instead of Ctrl+C... also, use SysRq instead of Ctrl+Z.
mixmastamyk 1 days ago [-]
Rare to have these on a laptop. Sometimes you can find an non standard alternative key combo.
moffkalast 1 days ago [-]
Legacy bullshit from the 70s still making people facedesk today and probably for the next hundred years or more. At least ctrl-shift-c and ctrl-shift-v are now somewhat more common.
smokel 1 days ago [-]
There are even developers who do not learn to touch type. Baffles the mind.
Making Caps Lock an additional Ctrl, and using Emacs keybindings (supported in nearly every IDE and on many command lines) makes one even more productive, because your hand doesn't have to travel all the way to where the arrow keys are. (A similar thing can be said about Vi keybindings.)
It is a strange phenomenon that many people do not wish to invest a few hours to make their lives easier later on.
spauldo 20 hours ago [-]
It baffles my mind that a lot of schools don't even offer keyboarding anymore. I took it in high school, and I was fortunate to be born late enough that being male wasn't a barrier (only girls could take it when my parents were in school) but early enough that they offered it at all. Out of all the skills I learned in high school, it's probably the one I use the most.
int_19h 13 hours ago [-]
It takes way more than a few hours to get used to a new setup like that when you're already very proficient in something else (like using arrow keys).
As for Caps Lock, some of us have good reasons to have it mapped to something else that needs to be done frequently, e.g. switching keyboard layouts.
croemer 1 days ago [-]
Yeo. I map capslock to Esc and use vi bindings.
enricozb 1 days ago [-]
Since I do not really use Ctrl-X on the terminal to cut text, I have changed my terminal configs to have Ctrl-X be sigint, and Ctrl-C to be copy. Makes for a nicer experience, also X looks more like a "kill" :)
dotancohen 4 hours ago [-]
I used to do similar bindings, but one mistype of muscle memory on somebody else's box, or in an SSH session, will teach you not to do that.
Do you want to be productive on your own snowflake system, or employable?
physicles 18 hours ago [-]
Wow, in 7 years of daily Linux use, I somehow never thought of doing this. Thank you.
~/.bashrc:
stty intr ^x
~/.inputrc (at the end):
"\C-v": "" # Unbind Ctrl-V
~/.config/terminator/config (in case anyone happens to be using terminator):
[keybindings]
copy = <Control>C
paste = <Control>V
adastra22 1 days ago [-]
That makes way more sense.
mixmastamyk 1 days ago [-]
Nice, but eons of muscle memory to retrain. :-/
jonhohle 1 days ago [-]
This has always been one of my favorite aspects of macOS (né OS X). GUI app shortcuts and Terminal control sequences are mutually exclusive where it matters and shared where it’s convenient. I find it very natural to navigate text in any app. I find it surprising that no Linux window manager has taken this approach.
rz2k 1 days ago [-]
It started with “System Software” or “Mac OS” (as opposed to “macOS”), since it was an advantage of using terminal software like ZTerm on the pre-OS X operating system. You could select and copy text without unintentionally sending a break.
BiteCode_dev 1 days ago [-]
Most terminal now accept ctrl + shit C/V as an alternative on linux.
MangoToupe 1 days ago [-]
They could also not use Ctrl for gui keybindings and join the 21st century
mixmastamyk 24 hours ago [-]
Very rare to have a Mac keyboard with Cmd on it on a PC. Only common on a Mac with Linux. There it can be reprogrammed but yes, should be better.
int_19h 13 hours ago [-]
If you connect an Apple keyboard to a PC, you'll find out that Cmd is the same as the Win key.
mixmastamyk 4 hours ago [-]
IC, though the Win key has useful shortcuts assigned as well. But I suppose they could be sacrificed and/or remapped.
culebron21 1 days ago [-]
Because on Ubuntu, they're Ctrl+SHIFT+C/V/X. I've seen Ctrl+C/V not work, and assumed that Bash didn't implement it at all. I've learned the right way casually about 7 years into using Ubuntu.
tzot 1 days ago [-]
Ctrl-Shift-C/V/X are not implemented in bash; it's the terminal emulator program that handles these. So the default terminal emulator of Ubuntu (gnome-terminal I assume, but ICBW) knows about a “system” clipboard and copies stuff to it and on paste feeds bash with the copied data. If you press Ctrl-Alt-F1 (and F2, F3, depends on your distribution's defaults) you can login and in your login shell, which I understand is bash, Ctrl-Shift-C/V/X have no difference to shiftless Ctrl-C/V/X.
spauldo 20 hours ago [-]
When you press CTRL and a letter or symbol at the terminal, shift doesn't do anything (unless it's required for the symbol, as in CTRL-@). The code that gets sent is the same either way. Emacs users have to be wary when setting custom keybindings because GUI Emacs can see the difference but terminal Emacs can't.
Likewise, ALT just sends ESC assuming you're using the standard US keymap.
jasonjayr 1 days ago [-]
Eons ago, Ctrl-C was mapped to 'Break' on various terminals, which will halt the running program, and was a useful function. Desktop/GUI's mapped Ctrl-C to (C)opy, since the mnemonic made way more sense, and interrupting a GUI program hard like Break tends to do was not very useful.
vintermann 1 days ago [-]
It's not just the mnemonic, it's also that the location on the keyboard makes ctrl-c "prime real estate" so to say, and cutting and pasting is one of the most common and useful things you do.
thaumasiotes 1 days ago [-]
> It's not just the mnemonic, it's also that the location on the keyboard makes ctrl-c "prime real estate" so to say
Considering the hotkeys for xut and vaste, I think it's safe to say the mnemonic accounts for zero of the decision and the keyboard location accounts for all of it.
andrewshadura 1 days ago [-]
X is for the scissors, V is for the insertion mark
yoz-y 1 days ago [-]
This is where I find cmd+c/v better. It just works everywhere. On windows win+v works, not sure if win+c does, it’s been a while.
bmacho 1 days ago [-]
Win+c works too on windows. So does ctrl+insert/shift+insert on the terminals I just tested (cmd.exe, microsoft terminal with tabs, git bash, blue powershell terminal).
Win+c/win+v looks like a good compromise, using the Windows button for OS/DE commands, instead of application commands.
int_19h 13 hours ago [-]
On Win11 Win+C launches Copilot by default these days. Win+X and Win+V also have functions assigned to them that are in no way related to the keyboard.
bmacho 13 hours ago [-]
Eww, that's very unfortunate. Well, so much for a cross-os copy-paste shortcut.
fc417fc802 1 days ago [-]
Also worth noting that many other ctrl-letter combinations map to signals in the terminal. In all the terminal emulators that I've used shift-ctrl-c & co are mapped by default for clipboard operations.
mprovost 1 days ago [-]
On terminals, the control key masked off the 6th and 7th bits of the 8-bit value sent by the letter key. That's a bitwise AND with octal 037, or in decimal subtracting 96 from the lower case key value. This happens in the terminal (or keyboard) itself, so the computer doesn't see it as two pressed keys, it just gets the masked value.
In ASCII 'c' is 99 (decimal), so when modified with control is 3, ETX (end of text), which teletypes used to indicate the end of text. So unix shells reused that control character to terminate the current program with SIGINT. But every letter key maps to a control character at the start of the ASCII range, like 'g' maps to BEL for the bell, or 'h' maps to BS (backspace). '[' maps to ESC (escape) which is handy when Apple decides to move the escape key on their laptop keyboard.
int_19h 13 hours ago [-]
Unless we're talking about ancient hardware terminals, the computer sees the actual raw scancodes coming from the keyboard. Control (whether by itself or in combination with something else) is no different than any other key. It's the software that maps those combinations to ASCII control characters, which is why this works the way you described on most Unices (where, if I remember correctly, it's the tty that is doing the mapping) but not e.g. on DOS/Windows.
tedunangst 24 hours ago [-]
The funny bit is the other six control codes are mapped ctrl-2 to nul, and ctrl-3 forward to the five remaining.
ZoomZoomZoom 1 days ago [-]
> and interrupting a GUI program hard like Break tends to do was not very useful.
I find it extremely useful, GUI or not. Too bad it doesn't work half the time when it matters, especially on Windows.
hiAndrewQuinn 1 days ago [-]
Alt-F4 is pretty reliable on Windows, but it's not as catchy because no one likes craning their left hand to reach the function key (even though you could just hold right Alt).
tom_ 1 days ago [-]
Right Alt doesn't exist on all keyboard layouts. On the UK layout it's replaced by AltGr, which doesn't do much appart from fail to act as Alt for Alt+F4 purposes, but it has actual uses in other layouts: https://en.wikipedia.org/wiki/AltGr_key
makapuf 23 hours ago [-]
In French and other European countries, #[@{}|\] need altgr. You re using this quite a lot developing on Linux.
thaumasiotes 1 days ago [-]
Nobody ever uses right alt even if it exists, but it's straightforward to hit F4 with your right hand.
Alt+F4 on Windows has the undesirable property that if you hit it several times, and it works, you'll close several different things. Ctrl-C in the terminal won't do this.
spauldo 19 hours ago [-]
American Emacs-using touch typists use right ALT all the time. ALT-x prompts you for a command, ALT-q in most modes runs fill-paragraph, ALT-f moves the cursor forward by one word, etc.
thaumasiotes 18 hours ago [-]
When I want alt in emacs I use C-[.
spauldo 8 hours ago [-]
I suspect you're in the minority there.
thaumasiotes 6 hours ago [-]
I can believe that.
whartung 1 days ago [-]
What’s funny is when I started on SCO Unix ages ago, the default break key was DEL.
It quickly morphed into ^C, but the first few months were interesting.
Coming from the VAX, it was ^T.
lupusreal 1 days ago [-]
The mnemonic logic of the copy shortcut is undermined by the arbitrary paste shortcut. Also, from what I've seem a whole lot of average Joe computer users don't know or use these shortcuts, I think they're a lot further to the power user side of the skill spectrum than a lot of people here might expect.
layer8 1 days ago [-]
The V isn’t arbitrary. Apart from the close location on the keyboard, the V looks like the handwritten mark often used to insert text in a physical document. This is similar to how the X suggests crossing out something.
chuckadams 1 days ago [-]
On a US keyboard where these shortcuts were developed, you'd have to stretch your hand across the keyboard to reach Ctrl-P. That's why it's Ctrl-V, it wasn't arbitrary.
I miss Sun keyboards and their dedicated copy/paste keys.
Henchman21 1 days ago [-]
And a control key in the right place. Dammit.
silon42 1 days ago [-]
I have a conspiracy theory that MS made IBM move the control key to kill WordStar, which had the superior keyboard shortcuts.
physicles 18 hours ago [-]
Seems plausible. If anyone else is curious about the history here, I found [1]:
> The original computer terminals and microcomputers for which WordStar was developed, many running the CP/M operating system, did not have function keys or cursor control keys (arrow keys, Page Up/Page Down). WordStar used sequences of alphabetic keys combined with the "Control" key, which on keyboards of the time was conveniently next to the letter A in the position now usually occupied by the Caps Lock key. For touch typists, in addition, reaching the function and cursor keys generally requires them to take their fingers off the "home keys" with consequent loss of typing rhythm.
Ctrl-V is arbitrary from a mnemonic sense. "Vaste"?
andrewshadura 1 days ago [-]
V looks like the insertion mark
chuckadams 1 days ago [-]
eh, vy vaste ze energy zinking about eet too moch ah ha ha...</the-count>
:)=
muixoozie 1 days ago [-]
> like how copying and pasting any multiline document into your browser's URL bar will almost certainly format it into a sane single-line format.
Didn't know that. I learned the other day that one can paste a password into the URL bar and drag it to a password field on the website that's annoyingly blocking paste (on Firefox at least). Probably a bad idea for security reasons (telemetry?). Just found it surprising. Also noticed many crappy sites that block paste will forget to block Ctrl + insert or Ctrl + Shift + v. I usually don't have this problem because the plugin of my password manager usually works..
diggan 1 days ago [-]
> Didn't know that. I learned the other day that one can paste a password into the URL bar and drag it to a password field on the website that's annoyingly blocking paste (on Firefox at least). Probably a bad idea for security reasons (telemetry?).
You could probably drag it directly from the password manager to the password field, instead of using the URL bar as an intermediate (which indeed is a bad idea as whatever you enter there usually gets sent somewhere).
kevin_thibedeau 1 days ago [-]
IBM didn't invent this scheme. Apple Lisa had Cmd+X,C,V. Early Mac apps switched to K,C,V but obviously they switched back at some point.
teddyh 1 days ago [-]
> IBM didn't invent this scheme.
Ctrl-X, Ctrl-C and Ctrl-V isn’t even part of the IBM CUA specification. CUA places the Cut command at Shift-Del, Copy on Ctrl-Insert, and Paste on Shift-Insert.
scelerat 1 days ago [-]
cmd-K for Cut? I don't ever remember that on the Mac.
I remember the lower left row on the US keyboard was always the first four operations from the nearly-ubiquitous Edit menu since day one.
Z - Undo
X - Cut
C - Copy
V - Paste
Certainly not the flagship apps from Apple. Can you remember an app that did this specifically? I seem to remember even early apps from Microsoft were fairly respectful of the early Mac HIG
Early apps frequently also had "Clear" in the Edit menu, which was like Cut except the cleared item didn't go into the system Clipboard
MangoToupe 1 days ago [-]
Oh so IBM is to blame for the worst keybindings imaginable
meindnoch 1 days ago [-]
What do you mean? Ctrl+C is SIGINT. Copy is Cmd+C.
fc417fc802 1 days ago [-]
What's cmd? I've only got ctrl, alt, super, and hyper over here. /s
I guess I've also that useless "right click menu" keyboard button that's not even worth repurposing for anything due to the placement making it incredibly awkward to use. I'd be curious to know if anyone here actually uses the ctrl or alt keys that are located on the right.
somat 1 days ago [-]
This is X11 centric but I mapped the largely useless context menu button to the compose key. where it actually gets used.
For those unfamiliar with the compose key it is a superior input mechanism for rare characters that maps a mnemonic sequence to the character in question. you want an ø type compose o /
A tutorial if you do not have a compose key configured, I tend to run a minimal bare bones X11 setup, A more full featured environment may have it's own way of doing it.
map the compose key in ~/.xsession
xmodmap -e 'keysym Menu = Multi_key'
I also set up a ~/.XCompose mainly because it is fun to add your own
include "%L" #include the compose file found in /usr/X11R6/share/X11/locale/<localemapping>/Compose
<Multi_key> <w> <e> <b> : "" # spiderweb
<Multi_key> <c> <c> <c> <p> : "\xe2\x98\xad" #symbol representing proletarian solidarity between agricultural and industrial workers
I don't know if the compose system is found any where else but I regard it as one of the better things to come out of the X11 project. A little below select / middle click paste.
teo_zero 1 days ago [-]
> I'd be curious to know if anyone here actually uses the ctrl or alt keys that are located on the right.
You must be located in the US, because the US is probably the only keyboard layout with a right Alt key. All the others have an AltGr key in that position.
I use the right Ctrl key in combination with the arrow, Backspace and Delete keys. Also with Return to enter the same content in multiple cells in Excel.
int_19h 13 hours ago [-]
"All the others" is a rather drastic overstatement. Some European layouts do that. Many non-Latin layouts do not, however. E.g. I can't think of any common Cyrillic keyboard layouts with AltGr.
mkotowski 1 days ago [-]
Many keyboard layouts use the right alt as the AltGr key for additional characters like language-specific letters or currency symbols (or at least many European ones do).
As for the right ctrl, by association with the AltGr, I usually map it as the Compose key.
int_19h 12 hours ago [-]
The "right click menu" keyboard button is surprisingly useful if you ever happen to be in a situation where you need to deal with a GUI app without a mouse.
Although these days, chances are good that some things will not be accessible at all, because many devs these days just don't care to do even the basics like submitting dialogs on Enter properly. Historically, though, Windows at least was very thorough in making sure that everything GUI could be operated entirely from keyboard. Much of that is still there, just increasingly obscure - e.g. few people know that Alt+Space will open the same menu that you can get by clicking the window icon in the title bar (the one with Maximize, Minimize, Move, Size etc). Even fewer know that when you pick Move or Size from that menu, you can use the arrow keys to move and resize the window.
mprovost 1 days ago [-]
Hmm my Lisp Machine has control, meta, super, and hyper but no alt!
igniuss 1 days ago [-]
A lot of eu keyboard layouts use right alt as alt-gr for special characters. Because of that right control gets a lot of usage since you're using right alt constantly anyways.
orthoxerox 1 days ago [-]
I used to use them back when Ctrl-Alt-Del was something you had to press daily.
justsomehnguy 1 days ago [-]
Hello there, Mr. I-Only-Have-a-Left-Hand.
I use the right control keys, I use Ctrl+Ins/Del, I use "Context menu" key, when it's available. And hey, I have almost a 30 years of muscle memory for them, so when some another idiot replaces the right Ctrl with F23 (which even can't be remapped by default AND pops up the stupidest menu for selecting what F23 should do) I really what to punch him in the face.
NB: as someone up in the thread mentions, right Ctrl is extremely useful for navigating in the text.
kgwxd 1 days ago [-]
> developers don't go out of their way more often to memorize the Ctrl+C, Ctrl+V
I get freaked out enough seeing devs that can't touch type. Now you're telling me there's a large number that also don't know the copy/paste shortcuts!?
stronglikedan 1 days ago [-]
One of my juniors could not only not touch type, but would hit caps lock, type a letter, and hit caps lock again - every time they wanted to capitalize a word. They just happened to go on to become the most successful dev I've ever mentored and have now forgotten about us little guys, but I always wondered if they still did that.
floam 1 days ago [-]
I knew someone smart who did that and it ended up being related to them having shift bound since they were a child to something they used differently than me, to change their inputs to Chinese pinyin.
thaumasiotes 23 hours ago [-]
In Microsoft's input method, shift will toggle you between ascii input and pinyin input while not switching you out of the pinyin input method environment.
I tend to use win+space, which instead toggles the input method you're using, as opposed to toggling how the pinyin input method interprets your input. But I had to learn about this secret special functionality of shift, because (some time ago; I don't know if it's still true) after switching your input method with world of warcraft running, the chat UI in the game would become nonresponsive.
After all, who ever heard of wanting to switch between different languages while using a chat interface?
teo_zero 1 days ago [-]
> I get freaked out enough seeing devs that can't touch type.
Do you get freaked out the same way seeing professional drivers that don't race? I've never related the speed of typing to the quality of coding (maybe to the quantity, but not a reason for being freaked out).
appreciatorBus 1 days ago [-]
I don’t think the concern is that they cannot type really really fast as in your comparison of professional drivers who don’t race.
In any domain where typing is the dominant activity, it would make sense to invest the small effort it takes to learn to touch type, and to learn basic keyboard shortcuts. You don’t have to reach 120 words per minute for the investment to pay off.
I used to be a one or two finger typist. Eventually, I took a touch typing class. For a long while it seemed like a waste of time. I could already type with one or two fingers at 40 words per minute. However, as I became proficient with touch typing, and as my touch typing speed approached my hunt and peck speed I started to realize what a powerful technique it was. I no longer needed to look at the keyboard, and my thoughts more easily flowed into the computer. This was a qualitative difference, not just about speed.
To continue the driving metaphor, IMO a driver who has had some basic driver education, and achieved some basic level of familiarity with the machine, will be a better driver, even if they never go faster than 40 miles an hour.
thaumasiotes 23 hours ago [-]
> I used to be a one or two finger typist.
> as my touch typing speed approached my hunt and peck speed I started to realize what a powerful technique it was. I no longer needed to look at the keyboard
There's no connection between these things. I use two (sometimes three) fingers per hand. Do I need to look at the keyboard? Of course not.
I don't need to look at the keyboard because, when I would sneak downstairs to use the computer at night, I didn't want to turn on the lights.
Quarrel 1 days ago [-]
I'm more worried that there might be lots of devs that can't send a sigint!
petepete 1 days ago [-]
Also the number who click around to position the cursor when they could hold ctrl and skip there in a fraction of the time. Same goes for shift and highlighting.
vintermann 1 days ago [-]
There are old studies from the 70s showing that moving the cursor with mouse is faster than navigation keys. Tog famously claimed that Apple's internal studies consistently showed that mouse felt slower than it actually is, whereas keyboard navigation felt faster.
hbnjgf 1 days ago [-]
I guess it depends on the distance. If you are currently typing and need to get to the beginning of the word, obviously it's way faster to navigate using the keyboard than the mouse.
If instead you need to navigate somewhere you don't exactly know the location of, scanning and clicking is faster.
Then again, if you happen to know the exact location, going there by command is much faster
fc417fc802 1 days ago [-]
Selecting text is also a good example where the mouse is faster. One of the few for me. Having to switch modes, move to a line, then move to a character, then repeat that, is quite cumbersome in comparison.
I'll take good keyboard controls for pretty much anything else though.
skydhash 1 days ago [-]
With Vim and Emacs, you have nice commands for getting to an exact position. And if you're replacing, you don't need selections. Selection is mostly for copying, cutting, and applying commands.
skydhash 1 days ago [-]
> If instead you need to navigate somewhere you don't exactly know the location of, scanning and clicking is faster.
Search is better especially with code. I used emacs and vim more than other editors, so I got use to their navigation shortcut. And on macOS, the trackpad is nice and convenient. But I still prefer search and paging shortcuts when I need to scroll.
petepete 1 days ago [-]
I'm not sure it'll hold up when you factor in moving your hand between the keyboard and mouse repeatedly.
Skipping forward 3 words on the line, for example, could be ctrl+right ×3.
I can do that faster than I can move my hand from the keyboard to the mouse, let alone drag it around.
lupusreal 1 days ago [-]
I know them but I virtually never use them. I've used X for more than 20 years and almost exclusively use the highlight and middle click method (outside of emacs, in which case I use evil bindings)
FirmwareBurner 1 days ago [-]
>devs that can't touch type.
Hey, that's me :)
Out of curiosity, why is this a yardstick for SW developers? I assumed the more valuable skill of the profession would be critical thinking and problem solving skills, not finger dexterity on pressing buttons without looking. That's why I didn't become a secretary or court stenographer.
I mean, a lot of doctors can't hand write for shit, but is that in anyway relevant to being a good doctor?
What about SW devs with handicaps or mobility issues?
Touch typing feels like a pretty niche hill to die on.
hiAndrewQuinn 1 days ago [-]
It's a signaling mechanism more than anything, as you can see from the other responses here.
"I can touch type" == "I spend enough time writing things on the computer every day that I have invested in the fluidity and comfort of my own hands" == "I'm enough of a nerd to actually be good at my job".
But it's also worth it from an ergonomics standpoint. I learned to touch type over the space of a few weeks of practice, meant years ago, and it's the reason I can use a split ortho keyboard today, which is much nicer on my wrists than the alternatives. I can also keep a notebook between the two keyboard halves which is much nicer to scribble on than having it to the side somewhere.
FirmwareBurner 1 days ago [-]
>"I have invested in the fluidity and comfort of my own hands"
That's exactly why I don't touch type.
Forcing my hands in the optimal "home-row" positioning for touch typing gives me wrist pain. Moving my hands towards my most comfortable position disables the ability to touch type.
>It's a signaling mechanism more than anything, as you can see from the other responses here.
Firstly, what if that type of signaling is flawed and might even be discriminatory if applied to screening people for an actual job, especially that SW devs conder themselves highly liberal and open minded to diversity.
Secondly, I also can't fathom how keeping my eyes focused on one screen continuously for long periods is healthy for them versus exercising them having to occasionally refocus towards the keyboard and back.
Thirdly, even if I would touch type, my job needs me to take my eyes of the "IDE screen" occasionally to look at other things like datasheets, PCBs, notes, etc. Then the amount of distractions in the office far outpace any supposed efficiency gains from not having to take my eyes off the screen, so there's no benefit to it anyway as the job has many other bottlenecks.
Reading the comments on this thread, makes me feel like I'm watching that scene from American Psycho where they're all in their bubble flaunting and judging each others' business card designs when they're all the same design. Glad I don't work with such judgmental individuals who scrutinize such pointless details like the way you type, as if their way is the only right way. Must be a nightmare.
>"I'm enough of a nerd to actually be good at my job".
Well then, I guess I'm lucky to be good at my engineering job without the way I type being an issue.
bjornasm 6 hours ago [-]
>Thirdly, even if I would touch type, my job needs me to take my eyes of the "IDE screen" occasionally to look at other things like datasheets, PCBs, notes, etc.
What if I told you that touch typing means you could do that while you are typing.
skydhash 1 days ago [-]
Let me start by stating that touch typing is orthogonal to coding well.
The nice thing about touch type is to not think about typing. One quick glance to position your hands on the home row (there’s helper on F and J), and then whatever you want to write just flow out. While I use two thumbs to type this on mobile, I’m mostly using my peripheral vision. Typing on a real keyboard is better as I have better feedback and can use all my fingers.
It’s only one reason: No need to think about typing, it’s all muscle memory.
FirmwareBurner 1 days ago [-]
Not sure why you assume people who don't touch type actually need to think about typing.
icedchai 1 days ago [-]
Yes. I don't "touch type" in the traditional way. I have my own technique I developed when I was a teenager. I don't look at the keyboard and I don't "hunt and peck". I basically use index/middle/ring fingers on each hand for most of the keyboard, thumbs mostly handle the spacebar and alt keys, left pinky is mostly for shift, control, tab, right pinky is mostly for return, backspace, arrow keys, etc.
cdash 1 days ago [-]
Same here. Whatever I do could not be defined as traditional touch typing but it kind of works. I definitely do not look at the keyboard at all but my fingers kind of just hover over the keyboard instead of resting on the home row.
wredcoll 1 days ago [-]
Because that's the definition of touch typing. What did you think it meant?
Also signals are heuristics and thus important because it's impossible to evaluate everything from first principles every time.
FirmwareBurner 1 days ago [-]
>Because that's the definition of touch typing
Touch typing means not looking at the keyboard while typing, not not-thinking about typing.
>What did you think it meant?
What do YOU think it means?
Can't you not touch type while still not thinking about typing?
Am I the only human capable of doing an activity while not thinking about it?
hiAndrewQuinn 1 days ago [-]
I never said I thought it was a good signal. Please don't go around shooting the messenger like that.
FirmwareBurner 1 days ago [-]
I think you misunderstood me or I made myself misunderstood. I wasn't "shooting" you, I know what you were saying, I have no issue with your PoV.
I chose to reply to you while addressing the rest of the comments since yours distills them, so it makes sense to reply to all in one comment than to each individually. Apologies for the misunderstanding.
sureglymop 1 days ago [-]
I would personally say that you should ignore it.
Programming isn't bottlenecked by how fast you can enter or type text, it is about focusing and thinking and then solving a problem. In other words, being able to enter text faster does not imply also being able to solve a problem faster.
I would even say that on the contrary, taking longer and reflecting on what you are typing more may perhaps result in a better quality solution of the problem being solved.
orthoxerox 1 days ago [-]
It's not bottlenecked, but it's much easier to think about a problem if I don't have to think about typing at the same time.
CactusRocket 1 days ago [-]
Thoughts go faster than fingers. It's already hard enough to keep up with my stream of thoughts when coding, when I'm touch typing pretty fast. I can't imagine my coding experience if I had to look at the keyboard to input my thoughts into the editor. It's subjective, everyone has a different experience, but I feel I would be severely impaired.
climb_stealth 1 days ago [-]
Consider me amazed! I would have thought it's something people pick up naturally by virtue of spending hours every day working with a keyboard.
I wouldn't link it to competency as a dev.
EduardoBautista 1 days ago [-]
It’s exactly because of having more valuable things to do that you should have typing just be a subconscious act instead of having to take your eyes off the monitor all the time.
chuckadams 1 days ago [-]
I'm pretty sure most devs who can't touch-type aren't hunting and pecking either. I never learned the "proper" home-row technique, and type with four fingers most of the time, but neither am I looking down unless I'm making enough typos that I need to realign my fingers. No one gives me crap about that because well, the people I hang around with just aren't that damaged.
mbeex 1 days ago [-]
Did this for 30 years. Two years ago I finally took the time to acquire the whole thing.
There is no way back. Relaxed posture, no UI elements stealing my focus unnoticed, parallelism (partially): continually "big-picturing" text; speaking with people while typing. The rhythm of this motoric skill and his quite specific form of memory alone, strangely decoupled from and coupled to the other mental processes at the same time, the interplay is simply marvelous.
chuckadams 1 days ago [-]
I grew up on all those "typing tutor" programs, and hated every moment of them, even the extra-game-ified ones. But at least they weren't high school typing classes like my gf took, those seemed like some proper sweatshop training. Would love to learn piano too, another thing I couldn't focus enough to make happen, but I guess I'm more comfortable now knowing my limits, and there's worse things to regret ¯\_(ツ)_/¯
kstrauser 1 days ago [-]
If you’re not looking at your hands, you’re touch typing.
I move my hands around as I type, too. I learned piano before typing, and it’s weird to me to try and keep them in one place. I type as fast as I’d ever want or need to, though, so I couldn’t care less if it’s not “proper”. I’d still say you and I both touch type.
skydhash 1 days ago [-]
Yes! It's quite nice not to have to think about typing. Just like you don't monitor the way you're handling a pen when you write. It's not related to being a good developer, but when you type as much as you do, having it done quickly and with the help of muscle memory helps with cognitive load.
In other words, the only thing I think about is what to write, not how I do it.
moron4hire 1 days ago [-]
Exactly. Because of this, I tend to think that there are no useless skills, or skills not worth refining as far as possible. Sure, there is contention for which skill you refine now, but asking yourself "should I get better at X?" in isolation should almost always get answered "yes". The more things you're really good at (typing, mental math, sharpening a knife, fixing your computer, navigating and merging git commits, cooking food, cleaning house, etc), the less time you'll spend on each thing, giving you more time to do other things.
Plus, writing code is not the only kind of typing that I expect a developer to do. Even if I could accept that typing speed is not important for writing code, it's certainly important for writing documentation, good commit messages, communication with team mates and stakeholders, etc.
bee_rider 1 days ago [-]
Touch typing is not super useful. I picked it up naturally over time, but it was just an accident. In general, the desire to type fast is a symptom of insufficient automation.
It is sort of nice to turning your laptop screen red and dim, and code on a dark porch at night (OLED screen required to get real darkness). Just you, the vim, and some fireflies. Your eyes will adjust to the darkness, and maybe you’ll see some animals that you don’t normally see.
rpdillon 1 days ago [-]
I started programming in grade school, and never learned to touch type. I was faster than my teachers, and ended up becoming a professional dev without touch typing.
When I was 29, I got very bad RSI in my right wrist, and re-evaluated my whole computing life as a result: switched to dvorak, removed the mouse/touchpad in favor of keyboard-centric tools, and swapped to a trackball when the pointer was needed. I also learned to touch type.
Of all the changes I made, I think the one with the most lasting value was touch typing. I didn't want to learn it, but I just bit the bullet, and I'm glad I did. It makes doing everything else on the computer very fluid and comfortable. It sounds like the touch typing position doesn't work for you, but the core point is that being able to effortlessly interface with the machine while your eyes can do something else is empowering.
I bothered writing this because I spent decades both before and after learning to touch type, so I feel I have some perspective on how they compare.
wredcoll 1 days ago [-]
Did "touch type" get redefined to "using a very specific set of finger positions for each key" or something? I thought it was just typing without looking at the keyboard...
marssaxman 1 days ago [-]
The term "touch typing" could be taken to literally mean just typing without looking at the keyboard, but in practice it usually refers to the style of typing where the eight fingers all rest on the home row.
hbnjgf 1 days ago [-]
As a software developer, written communication is your main output -- no matter whether it's code, Mails, documentation or presentations
Unless you are thinking slower than you are typing, you should invest in learning a basic and very easy skill
bena 1 days ago [-]
The main output of doctors is not written notes though.
Our main output is typed code.
Yes, our most valuable skill is critical thinking. So I don’t want to waste time and thought on wondering where the “f” key is. If I’m thinking about typing, I’m not thinking about the problem.
fc417fc802 1 days ago [-]
> Our main output is typed code.
Pretty sure my main output (at least by volume) is text files detailing things such as requirements, implementation strategies, and algorithmic tradeoffs.
dlachausse 1 days ago [-]
I see it as being willing to invest time into your craft. A few hours spent learning to touch type will save countless time over a lifetime.
It’s an invaluable skill not just for developers, but for anyone whose job requires frequent typing.
reaperducer 1 days ago [-]
Out of curiosity, why is this a yardstick for SW developers?
In my college, if you couldn't type 40 WPM, you didn't graduate.
financypants 1 days ago [-]
i use ctrl + <key> quite often but didn't know about ctrl + backspace! Also, I think mac's cmd + shift + left arrow or right arrow work so well.
slashdave 1 days ago [-]
> Ctrl+C, Ctrl+V
You mean CMD+C and CMD+V, right?
orsenthil 1 days ago [-]
Does anyone know who is the original author of this tool. I tried it on Linux and it is excellent! The usability, simplicity and intuitiveness. I remember I must have used this first, before I got into linux. But then the linux editors, like nano, ed, vim, emacs - with all the religious , political and passionate developers, didn't manage to pull up this intuitive interface. Even a simple copy of the design would have helped a new comer to linux, instead of presenting them with Nano as the default editor.
spauldo 19 hours ago [-]
It has the "feel" of a DOS program. I'm not saying that's a bad thing, just that it feels a bit alien on UNIX.
The first UNIX system I learned on had pico, the editor nano was modeled after. I personally found it intuitive enough, but too simple in the long run. Editors like nano or DOS EDIT are great for light use, but you reach their limitations pretty fast if you do a lot of serious editing.
suby 24 hours ago [-]
I remember the author posting on a HN thread a month ago
I vividly remember using edit on an Windows XP (or was it a 98?) when I was a kid. It was one of those hidden commands that I learned while watching my uncles and father do trickery in CMD
I also remember that tried running edit on windows 8 and got surprised that it was removed
jacooper 23 hours ago [-]
Micro is much more intuitive than nano, but I think Edit is better.
Just need it to start rolling out to production distros.
mixmastamyk 22 hours ago [-]
I looked for similar for twenty years. Including compiling my own version from setedit, a clone of a turbo pascal ide. Ten years later someone mentioned “ne” which was acceptable and packaged.
Several years ago the better micro was born then packaged, I’ve used since. It has more features than edit like highlighting, though missing a menu. That’s good enough I think.
In some situations like constrained environments (openwrt) I use nano with CUA keybindings because micro is too big.
lbruder 11 hours ago [-]
have you tried mcedit? It's the editor mc (Midnight Commander, a Norton Commander clone) brings along, looks and feels like the old DOS editor, but has more features
mixmastamyk 4 hours ago [-]
I don't think so, though remember Norton and this clone. Don't believe I knew it had an editor. As I once said to a relative... "information useful twenty+ years ago." ;-)
Just checked, key bindings are similar but largely wrong... focused on the Function keys.
seabrookmx 5 days ago [-]
I checked this out. It's kind of neat. It's barebones from a programming perspective though.. it didn't seem to have syntax highlighting out of the box for example.
Craig Barnes is epic. Great, versatile editor, dte.
sheepscreek 1 days ago [-]
Back when I was in school (like junior/middle school), we would program in a DOS based IDE call QuickBasic, and eventually Turbo C++ (in higher grades/high school). That blue background is so nostalgic.
For quick editing, my go to is vim. It’s a real superpower to have if you’re confined to the terminal. However, in the modern post-AI/vibe coding days with super fast AI completions and agentic editing, I think GUIs are the way to go. They make the constant context switching more seamless. Whereas terminal editors work best for very focused zen coding. That’s just my opinion.
adhamsalama 1 days ago [-]
There are several AI plugins for Neovim. Copilot's auto complete seems to be working fine.
sheepscreek 1 days ago [-]
Indeed - AI auto-completion works well. But chat and more conversation heavy workflows were not available back when I tried it (granted it was over a year ago).
I think Claude Code + vim might be a better solution. You’re using the best tool for the job - Claude Code for agentic assistance and vim for editing + review.
marssaxman 1 days ago [-]
Years ago I wanted a TUI text editor with ctrl-C/V, so I wrote one. I've been using it every day, ever since:
Really interesting development approach here. On unix, this depends on _one_ crate: libc. That crate is just a bunch of wrappers for libc. Absolutely everything else is implemented in the project itself. This is kind of baffling - they have their own everything (from base64 library to a cross platform terminal handling system) instead of using well-proven crates like termios. Why? I don't know. But very unusual in the rust world
easton 1 days ago [-]
Guessing it’s because it needs to go everywhere Windows is and they didn’t want to have a target on their back from pulling in a bunch of dependencies that they’d have to prove were safe. (Especially since Windows installs where this editor works may not get frequently updated, like embedded)
It might have been faster to just write the code they needed vs consult a lawyer and local security person for every crate they wanted to pull in.
JdeBP 1 days ago [-]
Go and read https://news.ycombinator.com/item?id=44031529 . The developer xyrself is in the comments talking about the choices that were made and the alternatives that were considered.
I must have written a million lines of code with PC-Write in the 80's .. seems kind of odd to me that it has just disappeared into oblivion, given that its an extremely powerful editor.
Huh, the source is out there somewhere .. might be a fun Lazarus/Free Pascal project one of these days ..
Y_Y 1 days ago [-]
Noun
druthers pl (plural only)
(US, informal, often humorous) Wishes, preferences.
posix86 1 days ago [-]
I wish they'd port the windows terminal to linux. It somehow allows to use ctrl + c for both cancelling processes and copying text. I'm still sometimes opening dev tools in chrome bcs of the annoying ctrl + shift + c.
tialaramex 1 days ago [-]
I wish any of the supplied terminals and shells for Windows were even halfway decent.
At first I tried really hard to use these tools, since my work laptop runs Windows, but gradually I accepted that no, even the experienced users aren't doing any better, these tools are just worse than the ones I was used to, and so I use a Unix shell and terminals designed to run those shells instead.
There were Windows/ Microsoft tools where I found things to like. C# is at least arguably a better Java for example. But a lot of the things I expected to find had benefits were just disappointing.
zadjii 1 days ago [-]
What complaints do you have with the Windows Terminal specifically? I can get having issues with CMD or PowerShell - they're very non-unix-y. But WT itself is probably one of the most feature-complete terminal emulators out there these days. I'd love to know what you think it's missing
tialaramex 1 days ago [-]
The thing that specifically makes me sigh every single day is that I start a power shell, the terminal opens and it displays most of the greeting, but only later, maybe in a few seconds, or when I click it, the rest displays. Arguably that might be a power shell bug but it's annoying and the same people made both. It's a bad smell, did anybody QA this?
Some time during my day I'll forget that because Microsoft's engineers have apparently seen a real Unix but have little or no experience living with one they've decided PRIMARY and CLIPBOARD are the same thing. This is another one of those things like doing MAC and encryption in the wrong order, or not realising you need a new variable (with the same name) for each iteration of your loops, where it makes sense if it's 1975 and this isn't yet common knowledge, but this is 2025, fucking ask someone.
There are more annoyances, but those are the biggest two.
mixmastamyk 22 hours ago [-]
Does windows have two clipboards? Don’t think so, although could be implemented I suppose. Some won’t like it as well.
3836293648 14 hours ago [-]
Just don't use the C-c clipboard anywhere?
If you want consistency, just use the other one?
drdunce 1 days ago [-]
Although most terminals (stty)/UI wrappers/multiplexers etc. would allow this as a configuration, I believe ElementaryOS and others are deliberately setup out the box to offer a Windows-like experience, including preserving keyboard shorts, without further configuration if this is what you seek.
jmmv 1 days ago [-]
About a year ago, I wrote https://open.substack.com/pub/blogsystem5/p/a-cli-text-edito... , which covered the history of editors in DOS and Windows. The article was sparked precisely by the GitHub issue in which Microsoft was proposing re-adding a text editor to Windows and the heated debate that followed.
VagabundoP 15 hours ago [-]
I started computing in the early 80s and have always wondered why there wasn't a standard keyboard button with Cut,Copy,Paste.
Thing of all the (wo)man-hours in computing lost due to the slight difference in people finding the modifier key+key (including the slight increase in error rates) and the just having a dedicated Cut/Copy/Paste keys.
int_19h 12 hours ago [-]
I remember some keyboards in 90s to early 00s - back when tall keycaps were the norm - having secondary labels written on the side of the key facing the user, usually indicating the standard Windows shortcut for that key. The exact set would vary, but pretty much all of them labelled X/C/V as Cut/Copy/Paste. Here's a good example:
I hate Microsoft's naming strategy here. "code", "edit", it's nearly as bad as "meta" and "X".
We're on a slippery slope towards DFW's subsidized time. Year of the depend adult undergarment, here we come.
culebron21 1 days ago [-]
I'm surprised nobody in the comments mentioned Norton Commander, and its editor. It was mostly enough for file editing. And navigating folders in DOS with NC was very convenient, that at the time you didn't even understand why people needed windows.
Today, it has successors: Midnight Commander (TUI on Linux), FAR Manager (TUI for Windows), Windows Commander (graphical UI, Windows).
Although MC is good tool, I notice something rubs me the wrong way in it, and I rarely use it -- probably, it's the conflict of focuses between a panel and the shell. E.g. you typed something, then tried to move to another folder, hit enter -> MC decides you run the command, hides the panels, lets the system yell at you "no such executable".
Debian even has it in the official repos. It's also on Homebrew.
wonger_ 21 hours ago [-]
I just opened mc and mcedit yesterday for the first time. Mcedit was sorta interesting but I'm already too vim-brained. How would you change mc to make it more intuitive?
culebron21 13 hours ago [-]
I don't know, I relied on it to edit configs over SSH, and navigate servers file systems that way (it sort of gives a better feel what's where), but locally I used SublimeText.
k3vinw 1 days ago [-]
Is it only the keyboard shortcuts that they’re borrowing from VS code? I hope they have plans for LSP and extensibility.
lhecker 1 days ago [-]
The plan is indeed to make it extensible if time and popularity permits it. LSP would be an extension itself, however, instead of being built into the editor. We want to retain a lean core editor so people can ship it everywhere (e.g. even into small Docker images).
k3vinw 20 hours ago [-]
That’s excellent. Thanks for sharing and best wishes to the team’s success and popularity of the new editor!
nop17 13 hours ago [-]
It state support macos but in release section there is no macos package.
tedunangst 5 days ago [-]
That sound you hear is all the old men yelling at clouds that a full screen terminal editor is not a CLI editor.
HarHarVeryFunny 1 days ago [-]
Right - if you can't use it on teletype, then it's not a CLI editor.
there is also Midnight Commander Editor (mcedit), which has syntax highlighting, macros, code snippets and automatic indentation!
waynecochran 24 hours ago [-]
I remember using Brief in DOS back in 1990 or so. It rocked. I have been an emacs guy in the Linux world, but I would love to have Brief again.
ChicagoDave 22 hours ago [-]
Or just use nano like most VIM haters.
russellbeattie 24 hours ago [-]
A few months ago there was a front page article looking back at WordPerfect for DOS. I commented that modern text-based apps never seem to look as good as mid-80s DOS apps for some reason. So it's apropos that Microsoft of all companies launches an old-school app like this.
int_19h 1 hours ago [-]
I think a large part of it is that DOS made it really easy to make good TUI apps, what with direct access to the text framebuffer and keyboard. Unix console is a mess in comparison (albeit with its own advantages such as remoting). And the modern crop of TUI apps is almost entirely Unix-centric; this one is a very rare exception.
ajaypradhan 1 days ago [-]
Ff
T3OU-736 23 hours ago [-]
Another text editor from the makers of Edlin. (Sorry, could not help myself!)
5 days ago [-]
quantadev 1 days ago [-]
Will be great to disabuse people from using VIM.
I mean in VIM you can't even easily exit. I've always had to literally reboot my computer to get out of VIM. One time even that didn't work, so I had to pull the main circuit breaker in my house to get it to quit.
rand17 1 days ago [-]
I simply bought a new laptop.
quantadev 24 hours ago [-]
Ah, what we call the "Nuclear Option for Vim Exiting". Only if all else fails.
s1mplicissimus 4 days ago [-]
[flagged]
1 days ago [-]
JdeBP 4 days ago [-]
This article is a pile of rubbish from top to toe. Starting with the conflation of TUI with CLI, and ending with the claim that one has to extract it from an archive afresh "each time you want to use it".
Microsoft hasn't designed a new text editor to "avoid VIM memes". It has re-implemented its old EDIT editor, which was a DOS program with a PIF on Windows NT, and which came out with MS-DOS 5 in 1991. There weren't silly "VIM memes" in 1991. Indeed, Stevie had barely turned into VIM in 1991.
The original announcement was discussed on Hacker News about a month ago.
And the idea that "Windows devs are forced to fire up Notepad" is just risible. Even by 1991 there was a wide array of text editors available in the Microsoft world. EDIT was over half a decade late to the party. DR-DOS had had EDITOR for a while. And if memory serves E and T2 were already in IBM's PC-DOS and OS/2.
It was pointed out back in 1991 that it was late to the party. Quite how someone from the world of Ubuntu can think that there are no text editors in the Windows world in 2025 apart from Notepad and so developers are "forced", its word, to use it, boggles the mind.
Anyone who actually does Windows development, and has probably discussed with other developers the merits of the various editors available, from MobaEdit through EditPad, WordPad, Brief, CodeWriter, and many others to Notepad++, would question the apparently zero knowledge that has informed this piece.
tialaramex 1 days ago [-]
Although there are vim memes, the whole "Oh no, I'm trapped in the editor" problem with modal editors is certainly there for vi which begins in the 1970s.
By 1994 when I was first using vi, (not vim) the rather faded "cheat sheet" I was handed already had remarks about the need to teach beginners how to leave the editor. I think I went years writing :q! which isn't the fastest way out but does do what I meant.
For example, TUI (text user interface) and CLI (command-line interface) are quite different. "CLI Text Editor" sounds more like someone editing a file using ECHO commands.
This new editor is actually a reimplementation of the classic MS-DOS 5 EDIT program from 1991. At that time, VIM was still very new, so "VIM memes" weren't yet part of the tech landscape.
Before VIM, there was vi. In Usenet posts - about 15 years before Google - people used to add a pithy humorous sentence at the bottom called "tagline" - here is one: "How do you exit vi? Reboot the system."
And Notepad was not the only option for Windows devs. We've had EDIT, DR-DOS EDITOR, Brief, WordPad, EditPad, Notepad++, and more.
MS-DOS 5 EDIT is actually just a stub which runs QBASIC in editor mode, in which all the BASIC-related features are disabled.
Windows 95 EDIT was different, it actually had BASIC removed from the binary. I don't know if it was a rewrite or if they just deleted (or even #ifdef-ed) out the BASIC parts out of the source code.
QBASIC was basically just a cut-down build of QuickBASIC with some features disabled. The TUI part was provided by the "Character Windows" (aka "Character-Oriented Windows", CW or COW) library, a TUI-mode analog to the Windows 3.x API for DOS TUI apps, it was also used by some other Microsoft products such as Word for DOS. It would be great were Microsoft to open source it (although from what I've heard, significant chunks of this stuff have already been included in various leaks of DOS and Windows source code, but it would be nice to have it publicly available in a completely kosher way)
That said, give me QuickBasic back in the terminal on Windows, Mac, and Linux, and now you’ve got my attention…
Huh, I've wondered about the difference for the last 30+ years.
I briefly worked with them.
:wq (sorry, I had to).
ctrl-z
if no ssh, then nano is not a bad option, though i would go with joe (https://joe-editor.sourceforge.io/) which can also show the shortcuts, but much much more powerful, yet it's just a single ~700kbyte exe (or 1.5MB with some optional syntax highlighting grammars and docs)
While (neo)vim doesn't have TRAMP and dired, it has netrw, which does the same stuff (on a basic level). You can do the following to edit a remote file:
vim scp://user@hostname/path-to-file-here
You can also replace user@hostname with an ssh alias you've configured, which makes it easier to work with multihop ssh and different keys and users. One useful usage of the remote editing is to combine it with opening multiple files to compare two files on different machines:
vim -O ~/.config/mpv/mpv.conf scp://htpc/.config/mpv/mpv.conf
To browse a directory instead of a specific file, just put the dir instead of a non-dir file and it will open a filebrowser view where you can then pick a file to open. In the above examples, leave off mpv.conf and you'll then be able to pick either your mpv.conf or input.conf or files related to your mpv scripts.
Sounds like ed, or edlin for the DOS oldies, to me.
Vim has ex built in - `Q` in normal mode to enter Ex mode, 3-5 command lines will show at the bottom and you can Ex away. I don't know of practical uses, I've only done it for the novelty.
Obligatory: To exit Ex mode use `:vi[sual]` - and that's probably where Vi got its name.
https://devblogs.microsoft.com/commandline/edit-is-now-open-...
my biggest problem with azure was also the fact that they couldn't stick to industry-standard terminology, but they has to invent their own. it made azure docs tremendously confusing.
Sometimes people use CLI to mean something you're literally doing at the shell prompt, and sometimes people use CLI to mean anything that isn't a GUI. And the Venn diagram of those meanings has significant overlap when both of those meanings are contextually valid and the end result of the meaning is functionally identical.
If I say, "instead of Firefox I'm using lynx, a CLI web browser," it's not really so ambiguous what I mean that you're confused. You can do backflips and dodge context to arrive at being confusing, but you really have to cross into disingenuous reading to get there.
The fact that you CAN draw a difference does not actually mean that the author needs to in order to communicate effectively.
I remember editing the AUTOEXEC.BAT in that thing as well as writing my own BAT files and QBASIC.
:!killall vi
Of course.
For a cli text editor, ed would qualify, right?
It'd still say ed is more of a TUI than CLI, albeit kind of old-school since it doesn't redraw the screen, just continuously show output and let you enter commands. Maybe "REPL" comes closer, because it's not interactive in the typical TUI way.
But as to that, it's slightly different than merely being able to play back a recording of commands. It IS that, but that can be applied in a way that acts more like the examples I said like sed or patch, or expect, where the script can apply some funcion to different inputs, not just playing back a recording. I'm not denying the implimentation, how the job gets done, is technically still just a recording of commands.
They are equally obviously different from the non-interative interface where all input is provided in the command line arguments and other shell syntax (pipes, redirection).
ls is a cli app. bash is an interative app that provides the cli environment in which you use ls.
I fail to see what is gained by trying make the meaning of "cli app" unclear when it definitely has an understood meaning, just because you can technically assemble the same words to mean other things. Sure in certsin contexts where you are speaking more geneticslly and more abstractly like in some research paper you may refer to a wide range of things all as "command line interface". But so what? How does noting that help in this context? (It does not)
In the case of 1, the program’s argument syntax can be referred to as the program’s “command-line interface”. But the abbreviation “CLI” usually means the interactive interface as in 2.
The latter is analogous to the notion of how TUI programs provide their own interactive interface. When making the distinction between CLI and TUI, it’s the latter that is meant, i.e. is it a line-oriented or screen-oriented user interface.
Saying “CLI editor” doesn’t imply that the editor commands are necessarily invoked as non-interactive shell commands, as opposed to the editor providing a CLI of its own.
Technically, every program can serve as a “CLI command”, since you can invoke it with arguments. However, “command line” is generally understood to mean the user interface where the user types commands, as opposed to non-interactive program invocation. When invoking a program with arguments from another program with exec or similar, you don’t call that a CLI.
TUI apps aren't common anymore, which adds to the confusion as a lot of people didn't grow up with them and don't grasp the difference. A TUI app takes control of the terminal and redraws different parts of the screen to present a consistent, non-scrolling experience. If you've ever used a system where your interface was an IBM 3270 emulator (or better, an actual 3270 terminal), that's TUI. vi/vim and non-GUI Emacs are also TUI.
A CLI app just prints its output at the cursor and the output scrolls off the top of the screen as you go. The Bourne, Korn, Bourne Again, and C shells are all CLI, as are most REPLs and the majority of interactive non-GUI UNIX programs (including ed) these days.
People do know the technical difference, it's just a shorthand
* https://news.ycombinator.com/item?id=44310682
Instead of 2 days ago when I actually wrote it. (-:
why not https://joe-editor.sourceforge.io/ starting via jmacs?
MicroEmacs is small and lightweight. I port it to whatever machine I'm using, and it works nicely in a remote tty window. It doesn't need a customization language, as I just change the source code.
Recently, I added color syntax highlighting to it, and support for unicode characters.
https://github.com/DigitalMars/med
We always called them "signatures." They were even stored in a file named .sig.
They were stored separately in a list and there was software that would pick one of them randomly to add to the signature when posting.
I think we also used them in fidonet echomail, but I don't remember for sure.
BBS networks like ILink had tearlines, optional taglines, and mandatory origin lines. FidoNet had tearlines and origin lines because it shared roots and sometimes nodes with the BBS networks; so they were there for compatibility. Usenet mainly had signatures, with all of its equivalents to the other stuff in headers.
* http://ftsc.org/docs/fts-0004.001
I find it interesting that everyone is using TUI when I've always seen CUI (Character User Interface). I come from a DOS and Windows background, and it seems like TUI comes from the *nix world.
And Notepad was not the only option for Windows devs.
Dr Dobbs and other tech magazines used to have ads for a variety of editors. And linkers, which were the bane of 80s programmers' lives. There was a whole era of programmer-oriented software that seems to have been largely forgotten.
So, technically, if you’re using a TUI in a graphical terminal window within a GUI, you’re strictly speaking not in a CUI, but are emulating a CUI within a GUI. And the CLIs and TUIs are running within that CUI.
Additionally, TUI is either Text or Terminal User Interface. Either way, it seems to be heavily associated with ncurses. As I understand it, ncurses essentially outputs a stream, which includes things like ANSI escape sequences for position and color. By contrast, CUIs like Turbo Pascal wrote directly to video memory.
Or here some usage of the term in 2002 referring to a Turbo Vision or Norton Commander-like interface: https://www.digitalmars.com/d/archives/c++/dos/75.html
The technical means of how the contents of the TUI is established (character stream with special codes, or direct writes to text-mode video buffer) is largely irrelevant for the term. The essential characteristic is that the visual “state space” of the interface is a character matrix, and that the program treats it as such (instead of just unidirectional line-based output).
Maybe you are right that CUI actually doesn’t cover CLI. The Unix System V documentation uses “Character User Interface” for curses-based interfaces (https://books.google.com/books?hl=en&id=idAmAAAAMAAJ). Then CUI and TUI are roughly synonymous, though TUI is the widespread term nowadays.
More notes here: https://simonwillison.net/2025/Jun/21/edit-is-now-open-sourc... - and a new TIL on publishing to the GitHub Container Registry here: https://til.simonwillison.net/github/container-registry
You can also compile directly from source on macOS - instructions here, I've not tried this yet: https://github.com/microsoft/edit/blob/main/README.md#build-...
[1] https://github.com/apple/container
Or are you not on a Mac, PC, or Chromebook?
Also surprised you haven't encountered this earlier, given it affects all usage of Alt in the terminal.
It also felt like a better way to distribute the tool for other people to use: I don't want to distribute a compiled binary (because in macOS you then need to sign it for other people to use it), but a Docker incantation skips that step.
I'm definitely not a Docker expert, but I've become a huge fan.
In particular the fact that Ctrl + anything letter-oriented makes something that is word-oriented instead, for example Ctrl + Left Arrow and Ctrl + Right Arrow let you skip word-by-word in documents, and Ctrl + Backspace lets you delete entire words at a time. This feels like it should be way more common knowledge than it is, like how copying and pasting any multiline document into your browser's URL bar will almost certainly format it into a sane single-line format.
Microsoft adopted the X/C/V shortcuts from the Macintosh for Windows 3.0 (replacing Command by Control; Alt was already used for invoking menus and the like), in addition to the existing CUA shortcuts (which are still supported and used today).
Of course in the Mac you have the same shortcut in every app because you use cmd+c/v
It really bugged me that by default you use ctrl+shift+c/v on Linux but only in the terminal.
Found a lovely feature in kitty term that does the right thing for ctrl+c depending on if you have text selection or not. Works great for me.
You have these same shortcuts in bash, zsh, the python repl, html form fields, etc. And anything that doesn't use gnu readline can be wrapped in rlwrap.
Note that copying and pasting is an exception. Otherwise, navigating words with shortcuts seems to fairly universally use these shortcuts.
And what Ctrl/CMD/Shift keys do together looks very random, no logic in it. Like, Ctrl+Left in Zsh scrolls the entire log to top, rather than move the cursor to the start of the line.
I use zsh, slack, Chromium, SublimeText and Zed on Mac.
What developer doesn't have these shortcuts memorized? It sounds like you're living in some bizarro world.
But the question is: what developers don't know about the standard keyboard shortcuts for copy and paste? Do they exist in any statistically significant numbers? ("There exists X" is not a very meaningful contribution if the Xs involved are something like 0.01% and are outnumbered by the number of programmers who write all their code on their mobile phone or whose version control strategy is to inscribe all their programs on a Tic Tac or a grain of rice or who think that Commodore 64-inspired homegrown operating systems are specially positioned to reveal the Word of God and offer protection against being pursued and persecuted by the CIA. Or are these some special breed of 9-to-5 darkmatter programmers who aren't going to show up on the radar, anyway?)
Making Caps Lock an additional Ctrl, and using Emacs keybindings (supported in nearly every IDE and on many command lines) makes one even more productive, because your hand doesn't have to travel all the way to where the arrow keys are. (A similar thing can be said about Vi keybindings.)
It is a strange phenomenon that many people do not wish to invest a few hours to make their lives easier later on.
As for Caps Lock, some of us have good reasons to have it mapped to something else that needs to be done frequently, e.g. switching keyboard layouts.
Do you want to be productive on your own snowflake system, or employable?
~/.bashrc:
stty intr ^x
~/.inputrc (at the end):
"\C-v": "" # Unbind Ctrl-V
~/.config/terminator/config (in case anyone happens to be using terminator):
[keybindings]
Likewise, ALT just sends ESC assuming you're using the standard US keymap.
Considering the hotkeys for xut and vaste, I think it's safe to say the mnemonic accounts for zero of the decision and the keyboard location accounts for all of it.
Win+c/win+v looks like a good compromise, using the Windows button for OS/DE commands, instead of application commands.
I find it extremely useful, GUI or not. Too bad it doesn't work half the time when it matters, especially on Windows.
Alt+F4 on Windows has the undesirable property that if you hit it several times, and it works, you'll close several different things. Ctrl-C in the terminal won't do this.
It quickly morphed into ^C, but the first few months were interesting.
Coming from the VAX, it was ^T.
I miss Sun keyboards and their dedicated copy/paste keys.
> The original computer terminals and microcomputers for which WordStar was developed, many running the CP/M operating system, did not have function keys or cursor control keys (arrow keys, Page Up/Page Down). WordStar used sequences of alphabetic keys combined with the "Control" key, which on keyboards of the time was conveniently next to the letter A in the position now usually occupied by the Caps Lock key. For touch typists, in addition, reaching the function and cursor keys generally requires them to take their fingers off the "home keys" with consequent loss of typing rhythm.
[1]: https://www.wikiwand.com/en/articles/Wordstar
:)=
Didn't know that. I learned the other day that one can paste a password into the URL bar and drag it to a password field on the website that's annoyingly blocking paste (on Firefox at least). Probably a bad idea for security reasons (telemetry?). Just found it surprising. Also noticed many crappy sites that block paste will forget to block Ctrl + insert or Ctrl + Shift + v. I usually don't have this problem because the plugin of my password manager usually works..
You could probably drag it directly from the password manager to the password field, instead of using the URL bar as an intermediate (which indeed is a bad idea as whatever you enter there usually gets sent somewhere).
Ctrl-X, Ctrl-C and Ctrl-V isn’t even part of the IBM CUA specification. CUA places the Cut command at Shift-Del, Copy on Ctrl-Insert, and Paste on Shift-Insert.
I remember the lower left row on the US keyboard was always the first four operations from the nearly-ubiquitous Edit menu since day one.
Certainly not the flagship apps from Apple. Can you remember an app that did this specifically? I seem to remember even early apps from Microsoft were fairly respectful of the early Mac HIGEarly apps frequently also had "Clear" in the Edit menu, which was like Cut except the cleared item didn't go into the system Clipboard
I guess I've also that useless "right click menu" keyboard button that's not even worth repurposing for anything due to the placement making it incredibly awkward to use. I'd be curious to know if anyone here actually uses the ctrl or alt keys that are located on the right.
For those unfamiliar with the compose key it is a superior input mechanism for rare characters that maps a mnemonic sequence to the character in question. you want an ø type compose o /
A tutorial if you do not have a compose key configured, I tend to run a minimal bare bones X11 setup, A more full featured environment may have it's own way of doing it.
map the compose key in ~/.xsession
I also set up a ~/.XCompose mainly because it is fun to add your own https://man.openbsd.org/ComposeI don't know if the compose system is found any where else but I regard it as one of the better things to come out of the X11 project. A little below select / middle click paste.
You must be located in the US, because the US is probably the only keyboard layout with a right Alt key. All the others have an AltGr key in that position.
I use the right Ctrl key in combination with the arrow, Backspace and Delete keys. Also with Return to enter the same content in multiple cells in Excel.
As for the right ctrl, by association with the AltGr, I usually map it as the Compose key.
Although these days, chances are good that some things will not be accessible at all, because many devs these days just don't care to do even the basics like submitting dialogs on Enter properly. Historically, though, Windows at least was very thorough in making sure that everything GUI could be operated entirely from keyboard. Much of that is still there, just increasingly obscure - e.g. few people know that Alt+Space will open the same menu that you can get by clicking the window icon in the title bar (the one with Maximize, Minimize, Move, Size etc). Even fewer know that when you pick Move or Size from that menu, you can use the arrow keys to move and resize the window.
I use the right control keys, I use Ctrl+Ins/Del, I use "Context menu" key, when it's available. And hey, I have almost a 30 years of muscle memory for them, so when some another idiot replaces the right Ctrl with F23 (which even can't be remapped by default AND pops up the stupidest menu for selecting what F23 should do) I really what to punch him in the face.
NB: as someone up in the thread mentions, right Ctrl is extremely useful for navigating in the text.
I get freaked out enough seeing devs that can't touch type. Now you're telling me there's a large number that also don't know the copy/paste shortcuts!?
I tend to use win+space, which instead toggles the input method you're using, as opposed to toggling how the pinyin input method interprets your input. But I had to learn about this secret special functionality of shift, because (some time ago; I don't know if it's still true) after switching your input method with world of warcraft running, the chat UI in the game would become nonresponsive.
After all, who ever heard of wanting to switch between different languages while using a chat interface?
Do you get freaked out the same way seeing professional drivers that don't race? I've never related the speed of typing to the quality of coding (maybe to the quantity, but not a reason for being freaked out).
In any domain where typing is the dominant activity, it would make sense to invest the small effort it takes to learn to touch type, and to learn basic keyboard shortcuts. You don’t have to reach 120 words per minute for the investment to pay off.
I used to be a one or two finger typist. Eventually, I took a touch typing class. For a long while it seemed like a waste of time. I could already type with one or two fingers at 40 words per minute. However, as I became proficient with touch typing, and as my touch typing speed approached my hunt and peck speed I started to realize what a powerful technique it was. I no longer needed to look at the keyboard, and my thoughts more easily flowed into the computer. This was a qualitative difference, not just about speed.
To continue the driving metaphor, IMO a driver who has had some basic driver education, and achieved some basic level of familiarity with the machine, will be a better driver, even if they never go faster than 40 miles an hour.
> as my touch typing speed approached my hunt and peck speed I started to realize what a powerful technique it was. I no longer needed to look at the keyboard
There's no connection between these things. I use two (sometimes three) fingers per hand. Do I need to look at the keyboard? Of course not.
I don't need to look at the keyboard because, when I would sneak downstairs to use the computer at night, I didn't want to turn on the lights.
If instead you need to navigate somewhere you don't exactly know the location of, scanning and clicking is faster.
Then again, if you happen to know the exact location, going there by command is much faster
I'll take good keyboard controls for pretty much anything else though.
Search is better especially with code. I used emacs and vim more than other editors, so I got use to their navigation shortcut. And on macOS, the trackpad is nice and convenient. But I still prefer search and paging shortcuts when I need to scroll.
Skipping forward 3 words on the line, for example, could be ctrl+right ×3.
I can do that faster than I can move my hand from the keyboard to the mouse, let alone drag it around.
Hey, that's me :)
Out of curiosity, why is this a yardstick for SW developers? I assumed the more valuable skill of the profession would be critical thinking and problem solving skills, not finger dexterity on pressing buttons without looking. That's why I didn't become a secretary or court stenographer.
I mean, a lot of doctors can't hand write for shit, but is that in anyway relevant to being a good doctor?
What about SW devs with handicaps or mobility issues?
Touch typing feels like a pretty niche hill to die on.
"I can touch type" == "I spend enough time writing things on the computer every day that I have invested in the fluidity and comfort of my own hands" == "I'm enough of a nerd to actually be good at my job".
But it's also worth it from an ergonomics standpoint. I learned to touch type over the space of a few weeks of practice, meant years ago, and it's the reason I can use a split ortho keyboard today, which is much nicer on my wrists than the alternatives. I can also keep a notebook between the two keyboard halves which is much nicer to scribble on than having it to the side somewhere.
That's exactly why I don't touch type.
Forcing my hands in the optimal "home-row" positioning for touch typing gives me wrist pain. Moving my hands towards my most comfortable position disables the ability to touch type.
>It's a signaling mechanism more than anything, as you can see from the other responses here.
Firstly, what if that type of signaling is flawed and might even be discriminatory if applied to screening people for an actual job, especially that SW devs conder themselves highly liberal and open minded to diversity.
Secondly, I also can't fathom how keeping my eyes focused on one screen continuously for long periods is healthy for them versus exercising them having to occasionally refocus towards the keyboard and back.
Thirdly, even if I would touch type, my job needs me to take my eyes of the "IDE screen" occasionally to look at other things like datasheets, PCBs, notes, etc. Then the amount of distractions in the office far outpace any supposed efficiency gains from not having to take my eyes off the screen, so there's no benefit to it anyway as the job has many other bottlenecks.
Reading the comments on this thread, makes me feel like I'm watching that scene from American Psycho where they're all in their bubble flaunting and judging each others' business card designs when they're all the same design. Glad I don't work with such judgmental individuals who scrutinize such pointless details like the way you type, as if their way is the only right way. Must be a nightmare.
>"I'm enough of a nerd to actually be good at my job".
Well then, I guess I'm lucky to be good at my engineering job without the way I type being an issue.
What if I told you that touch typing means you could do that while you are typing.
The nice thing about touch type is to not think about typing. One quick glance to position your hands on the home row (there’s helper on F and J), and then whatever you want to write just flow out. While I use two thumbs to type this on mobile, I’m mostly using my peripheral vision. Typing on a real keyboard is better as I have better feedback and can use all my fingers.
It’s only one reason: No need to think about typing, it’s all muscle memory.
Also signals are heuristics and thus important because it's impossible to evaluate everything from first principles every time.
Touch typing means not looking at the keyboard while typing, not not-thinking about typing.
>What did you think it meant?
What do YOU think it means?
Can't you not touch type while still not thinking about typing?
Am I the only human capable of doing an activity while not thinking about it?
I chose to reply to you while addressing the rest of the comments since yours distills them, so it makes sense to reply to all in one comment than to each individually. Apologies for the misunderstanding.
Programming isn't bottlenecked by how fast you can enter or type text, it is about focusing and thinking and then solving a problem. In other words, being able to enter text faster does not imply also being able to solve a problem faster.
I would even say that on the contrary, taking longer and reflecting on what you are typing more may perhaps result in a better quality solution of the problem being solved.
I wouldn't link it to competency as a dev.
There is no way back. Relaxed posture, no UI elements stealing my focus unnoticed, parallelism (partially): continually "big-picturing" text; speaking with people while typing. The rhythm of this motoric skill and his quite specific form of memory alone, strangely decoupled from and coupled to the other mental processes at the same time, the interplay is simply marvelous.
I move my hands around as I type, too. I learned piano before typing, and it’s weird to me to try and keep them in one place. I type as fast as I’d ever want or need to, though, so I couldn’t care less if it’s not “proper”. I’d still say you and I both touch type.
In other words, the only thing I think about is what to write, not how I do it.
Plus, writing code is not the only kind of typing that I expect a developer to do. Even if I could accept that typing speed is not important for writing code, it's certainly important for writing documentation, good commit messages, communication with team mates and stakeholders, etc.
It is sort of nice to turning your laptop screen red and dim, and code on a dark porch at night (OLED screen required to get real darkness). Just you, the vim, and some fireflies. Your eyes will adjust to the darkness, and maybe you’ll see some animals that you don’t normally see.
When I was 29, I got very bad RSI in my right wrist, and re-evaluated my whole computing life as a result: switched to dvorak, removed the mouse/touchpad in favor of keyboard-centric tools, and swapped to a trackball when the pointer was needed. I also learned to touch type.
Of all the changes I made, I think the one with the most lasting value was touch typing. I didn't want to learn it, but I just bit the bullet, and I'm glad I did. It makes doing everything else on the computer very fluid and comfortable. It sounds like the touch typing position doesn't work for you, but the core point is that being able to effortlessly interface with the machine while your eyes can do something else is empowering.
I bothered writing this because I spent decades both before and after learning to touch type, so I feel I have some perspective on how they compare.
Unless you are thinking slower than you are typing, you should invest in learning a basic and very easy skill
Our main output is typed code.
Yes, our most valuable skill is critical thinking. So I don’t want to waste time and thought on wondering where the “f” key is. If I’m thinking about typing, I’m not thinking about the problem.
Pretty sure my main output (at least by volume) is text files detailing things such as requirements, implementation strategies, and algorithmic tradeoffs.
It’s an invaluable skill not just for developers, but for anyone whose job requires frequent typing.
In my college, if you couldn't type 40 WPM, you didn't graduate.
You mean CMD+C and CMD+V, right?
The first UNIX system I learned on had pico, the editor nano was modeled after. I personally found it intuitive enough, but too simple in the long run. Editors like nano or DOS EDIT are great for light use, but you reach their limitations pretty fast if you do a lot of serious editing.
https://news.ycombinator.com/item?id=44034961
https://en.wikipedia.org/wiki/MS-DOS_Editor
Edit: just read https://devblogs.microsoft.com/commandline/edit-is-now-open-... and it seems that all 32bit windows versions had edit. I was probably using Windows XP 32 the last time I remember using edit
Several years ago the better micro was born then packaged, I’ve used since. It has more features than edit like highlighting, though missing a menu. That’s good enough I think.
In some situations like constrained environments (openwrt) I use nano with CUA keybindings because micro is too big.
Just checked, key bindings are similar but largely wrong... focused on the Function keys.
If you want a TUI text editor with CTRL-C/V and mouse support, I'd recommend looking at micro: https://github.com/zyedidia/micro
For quick editing, my go to is vim. It’s a real superpower to have if you’re confined to the terminal. However, in the modern post-AI/vibe coding days with super fast AI completions and agentic editing, I think GUIs are the way to go. They make the constant context switching more seamless. Whereas terminal editors work best for very focused zen coding. That’s just my opinion.
I think Claude Code + vim might be a better solution. You’re using the best tool for the job - Claude Code for agentic assistance and vim for editing + review.
https://www.github.com/marssaxman/ozette/
I didn't care about mouse support, though.
It might have been faster to just write the code they needed vs consult a lawyer and local security person for every crate they wanted to pull in.
I agree with pretty much all of their reasoning.
Make sure to add
to your ~/.profile for full "DOS compatibility".https://en.wikipedia.org/wiki/PC-Write
I must have written a million lines of code with PC-Write in the 80's .. seems kind of odd to me that it has just disappeared into oblivion, given that its an extremely powerful editor.
Huh, the source is out there somewhere .. might be a fun Lazarus/Free Pascal project one of these days ..
druthers pl (plural only)
(US, informal, often humorous) Wishes, preferences.
At first I tried really hard to use these tools, since my work laptop runs Windows, but gradually I accepted that no, even the experienced users aren't doing any better, these tools are just worse than the ones I was used to, and so I use a Unix shell and terminals designed to run those shells instead.
There were Windows/ Microsoft tools where I found things to like. C# is at least arguably a better Java for example. But a lot of the things I expected to find had benefits were just disappointing.
Some time during my day I'll forget that because Microsoft's engineers have apparently seen a real Unix but have little or no experience living with one they've decided PRIMARY and CLIPBOARD are the same thing. This is another one of those things like doing MAC and encryption in the wrong order, or not realising you need a new variable (with the same name) for each iteration of your loops, where it makes sense if it's 1975 and this isn't yet common knowledge, but this is 2025, fucking ask someone.
There are more annoyances, but those are the biggest two.
If you want consistency, just use the other one?
Thing of all the (wo)man-hours in computing lost due to the slight difference in people finding the modifier key+key (including the slight increase in error rates) and the just having a dedicated Cut/Copy/Paste keys.
https://www.reddit.com/r/keyboards/comments/w72hiw/ive_been_...
It was certainly convenient for people learning the ropes. Too bad it died out when chiclet keyboards became the norm.
It just never made it to the PC or Mac worlds
https://font.subf.dev/en/
https://github.com/subframe7536/maple-font
https://en.wikipedia.org/wiki/EMac
We're on a slippery slope towards DFW's subsidized time. Year of the depend adult undergarment, here we come.
Today, it has successors: Midnight Commander (TUI on Linux), FAR Manager (TUI for Windows), Windows Commander (graphical UI, Windows).
Although MC is good tool, I notice something rubs me the wrong way in it, and I rarely use it -- probably, it's the conflict of focuses between a panel and the shell. E.g. you typed something, then tried to move to another folder, hit enter -> MC decides you run the command, hides the panels, lets the system yell at you "no such executable".
https://github.com/elfmz/far2l
Debian even has it in the official repos. It's also on Homebrew.
* https://mastodon.social/@cks/114704709419805125
I mean in VIM you can't even easily exit. I've always had to literally reboot my computer to get out of VIM. One time even that didn't work, so I had to pull the main circuit breaker in my house to get it to quit.
Microsoft hasn't designed a new text editor to "avoid VIM memes". It has re-implemented its old EDIT editor, which was a DOS program with a PIF on Windows NT, and which came out with MS-DOS 5 in 1991. There weren't silly "VIM memes" in 1991. Indeed, Stevie had barely turned into VIM in 1991.
The original announcement was discussed on Hacker News about a month ago.
* https://news.ycombinator.com/item?id=44031529
And the idea that "Windows devs are forced to fire up Notepad" is just risible. Even by 1991 there was a wide array of text editors available in the Microsoft world. EDIT was over half a decade late to the party. DR-DOS had had EDITOR for a while. And if memory serves E and T2 were already in IBM's PC-DOS and OS/2.
* https://news.ycombinator.com/item?id=44041533
It was pointed out back in 1991 that it was late to the party. Quite how someone from the world of Ubuntu can think that there are no text editors in the Windows world in 2025 apart from Notepad and so developers are "forced", its word, to use it, boggles the mind.
* https://news.ycombinator.com/item?id=44037559
Anyone who actually does Windows development, and has probably discussed with other developers the merits of the various editors available, from MobaEdit through EditPad, WordPad, Brief, CodeWriter, and many others to Notepad++, would question the apparently zero knowledge that has informed this piece.
By 1994 when I was first using vi, (not vim) the rather faded "cheat sheet" I was handed already had remarks about the need to teach beginners how to leave the editor. I think I went years writing :q! which isn't the fastest way out but does do what I meant.
I think that’s a joke