I don't believe Auto Save feature in any software

SagXD@lemm.ee to Programmer Humor@programming.dev – 822 points –
106

:w

:w

:w

:w

:w

i

esc

:w

:w

:w

:w

Average day in (neo)vim

You can use :wq only once

So choose wisely. All other editor instances must remain open forever.

I use quake style terminals, and often start writing a file and completely forget about it and turn off the computer, and only remember what i left behind when i find the random recovery files around, so :w a lot is quite useful for me.

Quake? The FPS? I'm confused, though I knew a little about Linux

Yes, on classic fps you could spaw a console that will drop down from the top os the screen, some terminal emulators allow you to do that.

I like it because then i have the terminal always open that i just draw from the top of the screen with a keypress

On KDE i do that with Yakuake, and on gnome with tilix

You can also use Guake on GNOME or basically on any desktop. I've also use it on Cinnamon and it's really nice.

:x

My biggest (mostly) irrational internet pet peeve is the proliferation of people suggesting ":wq" when ":x" is strictly better.

Is there any reason to use :w other than it being the default? I have mine mapped to CTRL-S and it makes sure to keep me in insert mode if I was in insert mode. Feels way faster and easier to spam than the 4 key presses it takes to execute “:w”.


This will allow you to ctrl+s to save. I tried to add this in a backtick code line/block but it removes part of the syntax.

Some of us have PTSD from losing work back in the day. Now it’s just habit.

It'd be great if there were side kind of feedback, like the cursor quickly flashing a "C" or something... anything to let you know the operation occurred; better yet, was successful.

Check for an asterisk after the file name (in the tab/title bar), it means "unsaved changes".

I actually disagree from a systems engineer perspective: The program doesn’t actually know shit if those bits hit any permanent medium, just that the OS told them “I’ll take care of it” it could be sitting in a write back cache when you save, see the “write complete” and rip the power and that’s all gone now. Basically, I don’t like promising durability when it’s not really there.

  :wa! 

The old school programmer right here! All we’re missing is someone typing git commit -am “updates and stuff”

Basically a Jackie Chan fight scene, complete with somebody rolling a carriage at him and him kicking it back to pin them against the wall

We can optimize this further:

unsatisfied = true
while(unsatisfied) {
    key.dispatch(
        Keyboard::Ctrl,
        Keyboard::s
    )
}

..No, there is no instance where unsatisfied changes state

It's because the first time doesn't always work. I swear, sometimes it doesn't!

Ctrl + C literally doesn't work at times, it drives me crazy. It might be due to some shitty applications and websites overriding it or adding complexity (Like copying not only the text but additional information).

I'm often 100% sure I copied the text, change the window and an old clipboard entry gets pasted.

God I hate this so much. It's especially frustrating on mobile where it takes like thirty seconds to try to get the right part of the text copied and use the fucking magnified blue dots... Ugh.

Mobile is an entirely different beast. Like sometimes my keyboard doesn't show up. Or the text select refuses to work. And so on. It's a mess. Even on a Galaxy S22.

No clue how people can exist without a proper computer at home and still do stuff online.

I just can't stand Kate showing me a little orange bar meaning I have not saved the changes yet. The bar must be green! I am a slave to the green bar. The white dot in vscode (I use an open source build) is a bit more tolerable, but whenever I notice it I HAVE to save the file.

I really should turn on auto save when vscode loses focus.

I've never had to think about that with Intellij IDEA. It just works!

I still click Ctrl S occasionally when using pycharm. It's the law.

Dude I save almost every time I type anything. It's muscle memory at this point.

Cost/benefit

Manually saving will save a lot more time than it not saving

you CTRL+C CTRL+C CTRL+C CTRL+C CTRL+C

I CTRL+X CTRL+V we are not the same.

This is me in eclipse.

Because I used to do the single save and it failed

Oh, eclipse. I'm still happy I don't have to save in intellij .

I tried intellij years ago and never left it.

C-x C-s

I hate editors that cut the current line if you do C-x with nothing selected. Always do C-x C-s, even in VSCode and KDevelop.

Closing tabs and one of them asks if you want to save changes

Using JetBrains product, I never explicitly save while programming 😅

But then, if you’re forced to develop on microsoft 🤬, it’s late, you’re tired, you’re hand slides just a little to the right (win + d), aaaaand everything is gone, and you’re sitting there looking at you’re background wondering what the hell just happened 🙃.

Dude, win + d fucks, and it fucks hard. Just press it again if you can't handle

Yeah but at 4am in the morning, it tends to take me a couple of seconds to realise what the hell just happened . It gets me every time.

I’m the same way. I think it’s just a matter of being conditioned to manually save for the majority of my computing life.

Ctrl+s+s+s+s+s

LOL good point about just not releasing Ctrl.

The chances are non-zero that somebody out there attempts to release and press ctrl+s at the exact same time over and over like they're hammering out Beethoven's 5th. XD

Ok here's a question I should have asked like way sooner.

In Ubuntu (and similar distros), is there a hotkey to immediately kill the process? Like CTRL-C but harsher.

If you’re using X11, you can use xkill: https://en.m.wikipedia.org/wiki/Xkill

You can bind it to a key in gnome/kde (not sure how they handle custom keybinds. Otherwise add a call to xbindkeys to your .bashrc or equivalent). It kills any window you want, responsive or not.

As for the terminal, I don’t think you can send SIGKILL, but ctrl + \ will result in a core dump if you’re using bash.

I was never really aware I did this until I had to program something with hot reloading (I don't remember what) and it was so insufferable...

And now my pain is with rustfmt. Just because I saved before filling in the struct fields does not mean I want you to format the struct accordingly!!!

Intellij being a good guy amd autosaving every few seconds. No more worrying about crtl+s.

Meanwhile, me over here with the self-doubt slamming ctrl-z

Except the autosave in BBEdit. I trust that with my life. It’s never lost ANYTHING in 30 years.

Why would you ever use an editor that could lose your work unless you save? Vim users will never understand that.

Actually vim has swap files which it saves to when you make any edit, whether you save the change or not, meaning you shouldn't lose any work even if you kill -9 vim on unsaved work.

Yes, exactly. Why would anyone ever use an editor that doesn't work like that, where unsaved work could disappear? I can't understand that.

Ctrl-S? Are you writing code on Windows? 🤮

First of all, it’s fine to write code on Windows. In fact, many companies have windows-only development workflows.

Second of all, many Linux programs also use standard shortcuts like Ctrl+S. Linux is more than Vim.

There's no Visual Studio for Linux, so yeah.. especially as a .NET dev.

Visual Studio Code isn't the same.

Tell me you use Windows without telling me you use Windows.

Meanwhile I just reboot my Mac without bothering to save anything and everything just restores as it was, even new documents that were never saved. It works so well I don’t even think about it anymore.

Maybe these days. That definitely was not true when I was growing up, or even a decade ago.

You must have been born before they were beige that eventually turned yellow and brown.