emacs
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.
Well it is. But back on unix proper it was just called vi, not vim (aliased to vi)
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.
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
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”
Just to be helpful:
- Alt+Shift+Up/Down to duplicate a line (IIRC on Linux this defaults to something more complicated and it’s dumb so I changed it to match Windows and OS X)
- Ctrl+D to create multiple cursors
- Ctrl+Space to open autocomplete
- Ctrl+Period to open the little lightbulb menu that sometimes appears next to your cursor
- Ctrl+Shift+P to search for commands, so you don’t need to remember any other shortcuts
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.
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.