felineflock 21 hours ago

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.

  • marttt 16 hours 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 15 hours ago

      Quitting vim isn't about exiting the program, which can easily be done with :!kill -9 $PPID

      • __MatrixMan__ 7 hours ago

        Quitting vim became easy once I got to know helix. I've been clean for several weeks.

      • marttt 7 hours ago

        Easy-peasy!

    • Jenk 15 hours ago

      `ZZ` to save and quit, `ZQ` to quit without saving. Sorry, I can't help myself.

      • Brian_K_White 15 hours 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 14 hours 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 13 hours 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 10 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 14 hours 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 13 hours ago

              It would overwrite changes made by external programs.

            • greiskul 13 hours ago

              Metadata about the file like modification time.

  • skissane an hour 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)

  • Jenk 15 hours 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.

  • hk1337 14 hours 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 21 hours 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 19 hours 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 18 hours 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 17 hours 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 17 hours 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 16 hours 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 15 hours 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 14 hours 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 13 hours 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.

                • lern_too_spel 16 minutes 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 9 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.

        • Brian_K_White 15 hours 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 13 hours 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 15 hours ago

        Ed was designed in an age where the visual interface was a printer - so it is most assuredly a cli tool :)

      • hamburglar 16 hours 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 18 hours ago

        Not sure why you are downvoted this is entirely correct

        • spauldo 7 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 17 hours 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 11 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 8 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 15 hours ago

      for maximum excitement, try that killall method on a SysV unix...

      • spauldo 7 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.

  • JdeBP 18 hours 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.

    * https://news.ycombinator.com/item?id=44310682

    Instead of 2 days ago when I actually wrote it. (-:

  • WalterBright 10 hours ago

    Don't forget MicroEmacs! I've been using it ever since it floated around usenet in 1985 or so.

  • reaperducer 19 hours 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 19 hours 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 18 hours 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 17 hours 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.

        * http://ftsc.org/docs/fts-0004.001

    • angled 19 hours ago

      ^H^H^H^Hsignature

  • snozolli 19 hours 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 18 hours 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.

      • snozolli 7 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.

  • skywhopper 11 hours ago

    You’re missing ‘ed’ (and its predecessor ‘qed’) which is actually a CLI text editor.

  • wodenokoto 3 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”

  • pxc 19 hours 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 18 hours ago

      Btw, CLI editors can be interactive too: consider ed ("the standard text editor") and DOS' edlin.

simonw 14 hours 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):

  docker run --platform linux/arm64 \
    -it --rm \
    -v $(pwd):/workspace \
    ghcr.io/simonw/alpine-edit
Run that in a directory to open Edit against the files in that directory.

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-...

  • None4U 9 hours ago

    For Apple's own `container`[1], just remove the `--platform linux/arm64` part, like this:

      container run -it --rm -v "$(pwd):/workspace" ghcr.io/simonw/alpine-edit
    
    I did have to resize my terminal for this to work, but that could be a terminal emulator issue.

    [1] https://github.com/apple/container

    • commandersaki 8 hours ago

      This was harder to quit than vim. ctrl-f didn't work and there's no alt on my keyboard; hard pass.

      • da_chicken 8 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 2 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.

  • rfl890 11 hours ago

    Just wondering, why did you make an entire container image instead of trying to compile it from source first?

    • simonw 11 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 11 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 13 hours ago

    I built it for macOS natively and it works like a charm!

hiAndrewQuinn a day 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 17 hours 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).

  • cxr 18 hours 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 17 hours ago

      I know devs that still right click for copy and paste.

      • cxr 17 hours 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 16 hours ago

        Its safer in an unfamiliar terminal than accidentally killing the app with Ctrl-c.

        • JulianWasTaken 12 hours 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 16 hours 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.

          • silon42 15 hours ago

            It would be nice if we could use Ctrl+Break instead of Ctrl+C... also, use SysRq instead of Ctrl+Z.

            • mixmastamyk 11 hours ago

              Rare to have these on a laptop. Sometimes you can find an non standard alternative key combo.

            • moffkalast 13 hours 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.

  • kule 21 hours 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 21 hours 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 18 hours ago

        They're really emacs keybindings that readline adopted if I may be allowed a small amount of pedantry.

        • nyarlathotep_ 17 hours ago

          Appreciate the clarity here; I always wondered which "came first"

      • culebron21 14 hours 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 21 hours ago

        Yep, which is really handy. I was specifically talking about copy and paste shortcuts being the same even in the terminal though.

    • hbnjgf 21 hours ago

      Unless you are not using X, selected text us also automatically available for copy using the middle mouse button

  • smokel 15 hours 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 7 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.

    • croemer 14 hours ago

      Yeo. I map capslock to Esc and use vi bindings.

  • enricozb 19 hours 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" :)

    • physicles 5 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 17 hours ago

      That makes way more sense.

    • mixmastamyk 14 hours ago

      Nice, but eons of muscle memory to retrain. :-/

  • culebron21 14 hours 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 12 hours 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 7 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 21 hours 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 21 hours 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 15 hours 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 12 hours ago

          X is for the scissors, V is for the insertion mark

    • yoz-y 21 hours 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 20 hours 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.

    • fc417fc802 21 hours 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 20 hours 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.

        • tedunangst 11 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 21 hours 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 20 hours 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_ 19 hours 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 10 hours ago

            In French and other European countries, #[@{}|\] need altgr. You re using this quite a lot developing on Linux.

          • thaumasiotes 15 hours 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 6 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 5 hours ago

                When I want alt in emacs I use C-[.

    • whartung 20 hours 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 21 hours 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 17 hours 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 20 hours 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 18 hours ago

          And a control key in the right place. Dammit.

          • silon42 15 hours ago

            I have a conspiracy theory that MS made IBM move the control key to kill WordStar, which had the superior keyboard shortcuts.

            • physicles 5 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.

              [1]: https://www.wikiwand.com/en/articles/Wordstar

        • lupusreal 17 hours ago

          Ctrl-V is arbitrary from a mnemonic sense. "Vaste"?

          • chuckadams 16 hours ago

            eh, vy vaste ze energy zinking about eet too moch ah ha ha...</the-count>

            :)=

  • muixoozie 20 hours 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 19 hours 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 19 hours 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 18 hours 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 12 hours 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

  • jonhohle 18 hours 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 17 hours 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 18 hours ago

      Most terminal now accept ctrl + shit C/V as an alternative on linux.

      • MangoToupe 18 hours ago

        They could also not use Ctrl for gui keybindings and join the 21st century

        • mixmastamyk 11 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.

  • MangoToupe 18 hours ago

    Oh so IBM is to blame for the worst keybindings imaginable

  • meindnoch 21 hours ago

    What do you mean? Ctrl+C is SIGINT. Copy is Cmd+C.

    • fc417fc802 21 hours 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 18 hours 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
        
        https://man.openbsd.org/Compose

        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 19 hours 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.

      • mkotowski 20 hours 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.

      • mprovost 20 hours ago

        Hmm my Lisp Machine has control, meta, super, and hyper but no alt!

      • igniuss 19 hours 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 20 hours ago

        I used to use them back when Ctrl-Alt-Del was something you had to press daily.

      • justsomehnguy 19 hours 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 21 hours 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 19 hours 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 17 hours 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 10 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 19 hours 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 17 hours 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 10 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 21 hours ago

      I'm more worried that there might be lots of devs that can't send a sigint!

    • petepete 21 hours 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 21 hours 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.

        • petepete 20 hours 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.

        • hbnjgf 21 hours 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 21 hours 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 20 hours 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 20 hours 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.

    • lupusreal 20 hours 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 21 hours 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 20 hours 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 20 hours 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.

          • skydhash 17 hours 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 16 hours ago

              Not sure why you assume people who don't touch type actually need to think about typing.

              • icedchai 14 hours 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 13 hours 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 15 hours 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 15 hours 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 20 hours ago

            I never said I thought it was a good signal. Please don't go around shooting the messenger like that.

            • FirmwareBurner 20 hours 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 21 hours 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 20 hours 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 21 hours 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 21 hours 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 21 hours 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 19 hours 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 19 hours 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 16 hours 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 17 hours 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 20 hours 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 20 hours 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 21 hours 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 17 hours 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 15 hours 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 15 hours 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 21 hours 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 21 hours 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 21 hours 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 21 hours 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 19 hours 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 12 hours 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 17 hours ago

    > Ctrl+C, Ctrl+V

    You mean CMD+C and CMD+V, right?

nop17 19 minutes ago

It state support macos but in release section there is no macos package.

orsenthil 16 hours 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 6 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.

  • userbinator 12 hours ago

    I guess it's someone who worked at Microsoft in the late 80s/early 90s:

    https://en.wikipedia.org/wiki/MS-DOS_Editor

    • augusto-moura 12 hours 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

      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

      • augusto-moura 11 hours ago

        I also remember that tried running edit on windows 8 and got surprised that it was removed

  • mixmastamyk 9 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.

  • jacooper 11 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.

seabrookmx 4 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.

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

  • sheepscreek 21 hours 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 18 hours ago

      There are several AI plugins for Neovim. Copilot's auto complete seems to be working fine.

      • sheepscreek 11 hours 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.

VagabundoP 2 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.

  • skissane 2 hours ago

    Sun workstations had Cut/Copy/Paste buttons on their keyboards. Probably some other workstation vendors did too.

    It just never made it to the PC or Mac worlds

czarit 17 hours ago

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 17 hours 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.

jll29 20 hours ago

Works like a breeze.

Make sure to add

  alias edit=msedit
to your ~/.profile for full "DOS compatibility".
aa-jv 4 days ago

I wonder if anyone has ever given any druthers to porting PC-Write to linux ..

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 ..

  • Y_Y 19 hours ago

    Noun

    druthers pl (plural only)

    (US, informal, often humorous) Wishes, preferences.

posix86 21 hours 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.

  • 3836293648 an hour ago

    Just don't use the C-c clipboard anywhere?

    If you want consistency, just use the other one?

  • tialaramex 18 hours 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 18 hours 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 15 hours 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 9 hours ago

          Does windows have two clipboards? Don’t think so, although could be implemented I suppose. Some won’t like it as well.

  • drdunce 20 hours 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.

__MatrixMan__ 7 hours ago

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.

neoden 21 hours ago

What font is on the screenshot? https://github.com/microsoft/edit

culebron21 14 hours 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".

  • wonger_ 8 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 2 minutes 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 15 hours ago

Is it only the keyboard shortcuts that they’re borrowing from VS code? I hope they have plans for LSP and extensibility.

  • lhecker 15 hours 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 7 hours ago

      That’s excellent. Thanks for sharing and best wishes to the team’s success and popularity of the new editor!

waynecochran 11 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 9 hours ago

Or just use nano like most VIM haters.

russellbeattie 11 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.

T3OU-736 10 hours ago

Another text editor from the makers of Edlin. (Sorry, could not help myself!)

quantadev 16 hours 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 12 hours ago

    I simply bought a new laptop.

    • quantadev 11 hours ago

      Ah, what we call the "Nuclear Option for Vim Exiting". Only if all else fails.

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.

* 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.

  • tialaramex 18 hours 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.

  • croes 17 hours ago

    > Windows devs are forced to fire up Notepad

    I think that’s a joke