this post was submitted on 10 Dec 2023
688 points (95.5% liked)
linuxmemes
20880 readers
9 users here now
I use Arch btw
Sister communities:
- LemmyMemes: Memes
- LemmyShitpost: Anything and everything goes.
- RISA: Star Trek memes and shitposts
Community rules
- Follow the site-wide rules and code of conduct
- Be civil
- Post Linux-related content
- No recent reposts
Please report posts and comments that break these rules!
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Or I can just NOT waste my life and my sanity trying to remember all that BS and just use a mouse and a GUI editor. I have no need to feel like a hackerman.
Use what you prefer, that's a big part of what makes linux great. I get not wanting to go through the learning curve.
That being said, vim is pretty amazing to use, and super efficient, especially with some nice nvim plugins and customization.
I agree that remembering all these commands is a hassle, and so do nvim devs. that's why they recommend not to learn the commands^1^. these will become your second habit if used enough number of times. just like
Ctrl+c/v
.1: from
:Tutor
in nvim:also, even if you don't want to use a terminal-based editor, I'd recommended you to give this talk from Bram Moolenaar(creator of vim) a watch. not the whole talk, just a few first minutes. you can even use YouTube chapters to skim through.
have a nice day :)
On one hand, yes. On the other hand, you don't need all the keybinds, just remember the useful ones!
Want to delete a single word? Esc to enter command mode, d i w to delete the word you're on, I to begin typing again.
Everything between two of any char, usually parenthesis or quotes? Same process but d i {char} so something like "what are (you doing senpai)" can be made "what are ()" with just a few very quick keystrokes.
Delete to end of line? D.
Copy a whole line? yy (or Y for the rest of the line after cursor). Any time you do dd to delete a full line (or D for the rest of the line, or any other delete action) the contents are also copied so you can paste them again somewhere else.
Can you do anything with vim that you can't do with a GUI + moise? Technically no - but with vim you can do things significantly faster. There is an initial learning curve to get used to basic keybinds and the 2 modes, but it's well worth it, and not using the mouse is intoxicatingly faster and more fun.
I highly recommend doom emacs over vanilla vim- all the power of emacs, but with vim keybinds and a lot of other QOL features. There isn't much that isn't already built into vanilla emacs, much less doom emacs, and even less that can't be added with some packages that you can install from in the app. Web browser? Eww, and you even can use your vim keybinds in it. Doesn't render everything great graphics wise, but it's perfect for looking up documentation if you're lazy. Email? Built in baby. Git? Magit. Notes? Embrace the one true note format, org files and org-roam. File explorer? Dired right in baby. Terminal? Space + o + {t, T} for a terminal in its own buffer for all your terminal pleasures.
I also always install neovim as a backup, it was my favorite vim client for a while. It's useful to be able to use it for basic editing if I'm already trolling around in a terminal such as quick edits to docker-compose files before rerunning them
Honestly I felt the same way for a long time, until I decided to just learn the motions. Now I couldn't go back.
The combination of actions and motions makes it incredibly fast to edit code - Imagine you have a strong in double quotes that you want to change the double quotes to single quotes. There's a plugin called vim-surround that combines with the basic motions and with my cursor before or within the strong, I can just type
cs"'
and it's done.Want to copy everything within a pair of parentheses?
yi)
... So many things like that.Even for editing things like HTML, `cst delete surrounding tag. That will remove the tag around some content without changing the content.
(Neo)vim is incredibly important to my workflow these days and it feels like I write and edit code at the speed of thought.
The good thing about vim or Emacs is that when you know the shortcuts they are so much faster to use than mouse and menu editors (though Emacs has a menu, and supports mouse, which smooths the learning curve)
Or you can get the best of both worlds and use VSCode with the Neovim plugin! All the benefits of a GUI, but with vim keybinds for the editing!