this post was submitted on 18 Jul 2023
911 points (95.0% liked)
Programmer Humor
32397 readers
812 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I actually don't know what emacs means. I only remember having struggles in understanding anyone who likes vim, because it mostly just confused me. But Probably its just what you are used to. The Meme is still funny, though.
Don't discount the possibility that some people that use vim, are old enough to remember using vi, over a modem connection. When you know the keyboard shortcuts it can be a lot quicker too even now.
Vi is incredibly snappy when it came to commands.
Want to save? :w
Want to quit? :q
Want to save and quit? :wq
Very elegant. GUI WYSIWYG doesn't come close when it comes to commands.
A lot of the things I'm using are generally hangovers from those low bandwidth days. I've opened a file and I know what I want is a way down? Not a problem 10-Page down to move 10 pages down the file without sending all that to the terminal.
What to cut the next 5 lines into the buffer? 5dd. Move to the line you want to paste to. Want to remove the next 5 characters? 5x. Often on a slow link moving your cursor along had a delay. But if you knew how far you needed to go you could do 30+arrow right to get the cursor to move directly there.
I think most are obsolete now, but I'm still used to using them out of habit mostly.
Man, this comment made me feel a little embarrassed at myself. I saw the shortcuts and thought about how I have a tradition of going to the top of the file when I'm done editing and about to save/quit. I always hit the shortcut for it and think "gg boys! Good game" and then quit out of vim.
Stop judging me.
That would be me. I still call it "vi", default to it, and use "less" to preview files because I do almost everything on CLI. Vi is incredibly fast and powerful once you know it like second nature. I prefer vi over most, but the learning curve is a beast.
Wait, I thought we were still using vi.
Well it is. But back on unix proper it was just called vi, not vim (aliased to vi)
Depending on your distro, vi is vim aliased with the fanciness off by default.
It gives me a little burst of glee every time I ci" or ct in a clever way. If I ever spend the time to learn registers I'll be unstoppable
vim is a little hard to get into, but from there its benefits pay off with lots of features. On the other hand there is emacs, with an even steeper learning curve (*cough* long inconvenient button combos!), but it's considered so powerful, some say it's a separate operating system.
They say Emacs is an amazing OS, with the best calendar, to-do list, email client, etc. Just missing a good text editor.
Guess what, you can run Vim inside Emacs inside Vim inside Emacs now!
Viper for Emacs has been a thing for decades.
emacs has a steeper learning curve? You can
M-x <type stuff> tab
to figure out how to do stuff, which is easier than Vim for learning IMO:help tab
It's much harder, you're right! :P
Smex ftw
It comes from the words "Eight Megs And Constantly Swapping".
Yeah, the name hasn't aged well..
It's about 80MB on my machine right now... What is an absurd amount of memory for an empty editor, but I had to sort top by process name because there are some 10 pages of stuff that reserve no memory at all, 2 where it goes from non-zero to 100MB, and a fucking lot of pages of stuff using more than 100MB.
WTF is my computer doing with all that?
Just keeping a single frame buffer image can take tens of megabytes nowadays, so 100MB isn't all that much. Also 64-bit can easily double the memory consumption, given how pointer-happy the ELISP data structures can be (this is somewhat based on my assumptions, I don't actually know the memory layouts of the different Emacs data structures ;)).
But I don't truly know, though. If I start a terminal-only Emacs without any additional lisp code it takes "only" 59232 kilobytes of resident memory. Still more than I'd expect. I'd expect something like 2 MB. But I'll survive.
What's even more crazy is when you've used vim exclusively for 30 years to the point where you sit down at someone else's computer and you try to use their editor and you are completely lost. You fumble around like you're an elderly person who doesn't know what a computer is, type random letters all over. You look senile.
But then you show them on your computer how you can record a macro of your key commands and then use a regex to match different blocks of similar text and apply the same commands all at once. And because you used navigation based on words and lines rather than characters it all just works.
I think that's true of all editors, though. I ended up on the intellij side of things, and it means I'm clueless about VSCode's key patterns. I've only picked up ctrl-p so far, and keep having to remind myself "this is shift-shift in Microsoft"
VSCode is what made me finally switch away from vim for anything but minor edits. It's just too good.
I did set up vim keybindings in it, though.
You can emulate double shift in VSC. It will be slightly different since it doesn't automatically search actions and file names. So if you bind it to Quick Open as suggested by the link, you'll have to put
>
to search actions and not files.Just to be helpful:
Honestly that's about all of the shortcuts I use. The Ctrl+Shift+P menu will show you the keyboard shortcut next to the command, if it has one, so you can easily memorize it if you use a command often.
Totally fair. I think I'm sticking with Webstorm for at least one more year, but might someday give VSCode another try.
Webstorm was the combobreaker that ended my 15 years of Vim.
The only thing that's halted my rampant use of vim is... Neovim.
I tried, so hard. Once you snort a line of a well-tuned IDE, it's hard to decide "I'm going to learn these 30 extensions to replicate that experience in vim".
Flip-side, I hate vim mode IDEs, too, because it tends to collide with native IDE functionality. So I just "dream of vim" and pull it up for certain specific tasks.
For my vim journey it was the draw of being able to quickly navigate and manipulate text without ever needing my hands to move away from the home row on the keyboard, and being willing to put in the time and effort to push past the learning curve.
I first settled on vim as a teenager because I was a fan of... performing surprise penetration tests.
It defaults to opening files read-only, so you don't have to worry about the access/modified time on the file changing if you open one for... science reasons.
Nvim user so imo it would be funnier if it was about getting caught up in spending more time customising the editor than using it or something, but atm just reads like someone who only got as far as opening vim and not being able to figure out how to close it