I don't know why there's so much hate for Vim. It's simple- just use it as your default text editor since you first started using computers, and keep using it forever, and problem solved!
Vims defaults are quite crap overall. It is why everyone needs 100s of lines of configs and many plugins to turn it into something decent. Well worth the setup but it could go a long way to making things nicer to use out the box.
This one's fine. They'll then learn the next vim button, u for undo. I believe it's saved between boots of vim? It may be my kickstarted neovim config tho
I'm going to stick with my current process of accidentally opening vim, typing semi-random things that feel like they should work for a minute and then eventually looking up how to quit on my phone.
I use VS Code mainly and I always want to go to the end of a line and beginning. On Mac it's like CTRL+E and CTRL+A respectively. On Windows, I was like, I guess I could do Windows Key and arrows but it felt off. Installing Vim bindings on VS Code just fixed this all for me. I love it.
[edit]
for non-VIM users, you can skip words and go-to braces (and delete what's in them) and highlight within quotes very easily ... for function search, the built-in VS Code is really good too. I also have Harpoon installed to hop between files. If it doesn't appeal to you, then that's cool too! Whatever keeps you in there.
[/edit]
I've tried setting up my own vim stuff and I always bail out because I can't figure something out. I feel like I need to really sit with it and I'd have the perfect set up for me.
Lastly, I've installed vim for zsh and it's the best. I can hop all around my terminal and highlight and remove things. It's so beautiful.
Also, one think I was surprised by when I switched to Lazyvim/Ideavim/vscodevim setup few months ago - it's a lot of fun. Learning vim properly is like the dark souls of typing. Sure, you probably won't be as efficient for the first few years, but learning new motion combos is pretty fun, to the point where the minor loss in efficiency doesn't really bother me. Blasting out combos you've been practicing to do that one move efficiently, or discovering another new cool way how to do something is a continuous and fun process. It's basically gamifying typing.
So, if you want a boost in efficiency, just learn all the keybinds your current text editor has (jump to next param/function, multi-line editting, go to definition without using mouse, etc.), and start using them. You'll probably master all of them in few weeks and be much more efficient.
If, however, you enjoy slowly mastering something, vim will give you years of stuff to learn and master. Is it worth it? Probably not, but it's suprisingly satisfying!
Very well said and thanks for the great link though I am not gonna lie I am a tiny bit disappointed that url doesn't redirect to https://www.vim-villain.com/
‘vimtutor’ is your friend. Nobody sane uses vim as an IDE, but if you have to ssh to a host to fuck with a config file it’s pretty nice to know because you can guarantee that most distros have at least vi, if not vim.
I’ve met both the good kind of insane genius that uses it as an IDE and the crazy-board nutjob that uses it as an IDE, but both are decidedly not sane.
If you're just doing a quick config edit, nano is significantly easier to use and is also present in most distros.
Vi/Vim is useful as a customizable dev environment, but in the present there are better, more feature-rich development tools - unless you are specifically doing a lot of development in a GUI-free system, for some reason.
I mean, if youre continually updating files on remote take the time to learn vim. My God it's a million times more efficient. Even using the keybindings in an ide makes sense.
That and Im not aware that rhel distros at all have nano built in. Nothing on a random rocky 9 box I randomly sshed into just now.
vim is more feature rich than nano, nano is easier to use for the first time, after you learn the very basics vim is pretty much just as easy to use and way more feature rich
What editor is more feature-rich then vim? Out the box it is lacking some sane config but it is one of the more powerful and flexible editors out there - more then a rival for any modern IDE.
Recently I decided to try ed for real and used it exclusively for a coding project. There is a certain joy in the simplicity, but ultimately I found myself printing lines and searching files more than I liked. And rewriting long lines instead of getting the substitutions wrong again.
Honestly if there was an award for keybindings for style in terms of the way something like the MLA style guide would describe "good style" in the context of english, Vim would easily win it. It is one of the oldest, most coherent, extendable, fast, joyful and resilient conceptions of how to manipulate text with a keyboard ever created and it is awesome how it is such a compelling idea that it no longer exists as a literal codebase at this point, but rather a style and philosophy of keybindings.
It is shockingly beautiful even if you find it annoying to use in practice (I get it).
For example, the Qutebrowser is just awesome, I don't care if you don't like vim you can't argue with the power, ease of use and minimal UI the system requires in exchange for all the control you could want for navigating web pages without needing a mouse.
The utility of vim keybindings in my opinion extends further into a lot of unexplored accessibility benefits because any vim style input scheme to a program is going to be by definition a nice limited set of inputs someone can custom map to their accessibility hardware or software to have full control over a software and they won't have to worry about needing a mouse at super annoying parts because they know that is against The Core Commandments Of Vim.
When making a custom or 3rd party controller to a software, there is always the problem of how many control inputs are you going to need, some softwares go nuts with unnecessary keybindings for silly things that becomes a nightmare to try to map a custom hardware/software controller to. Vim keybindings on the other hand well... it is the keyboard proper and that is it, boom done....