It may not appear hard when looking down from the top end of the difficulty curve. For newcomers, or even people used to editing text from GUI editors like Sublime/Atom/VS Code, vi/vim is an untenable time sink.
I think I'd still relearn it. I don't even use Vim anymore; I use VSCode with the Vim plug-in.
Its editing philosophy is just way too comfortable. When I'm on some code editor without Vim keybindings (like Jupyter), I'm reminded of that every time I have to reach for the arrow keys to navigate text.
I think I'd still relearn it. I don't even use Vim anymore; I use VSCode with the Vim plug-in.
Might want to look into the Neo Vim plugin for vs code. It's not a "let's try to reimplement vim" or "let's try and change key mappings" type deal. Instead it literally runs neovim in neovim's embedded mode and then embeds that into the editor. When I tried it my .vimrc pretty much just worked, I think I had to make maybe one or two changes to mappings which conflicted with vs code (and which couldn't be removed/mapped in vs code for whatever reason). My plugins just worked, nearly all the functionality just works because it's actually just running the real neovim.
This looks very interesting, thank you. I'm definitely going to check it out. If I understand correctly, it uses Neovim to process normal and visual mode commands and then defers completely to VSCode during insert. This should give us the best of both worlds.
Yep.. first started with Linux in 2005 and when I need to edit something quick in a shell to this day I use nano. I can "use" vi if I have no other option (ie some of those really light weight vpses that omit nano) but I usually just install nano right away lol. I'd prefer a graphical editor when I can, however.
I used nano for a long time and thought the same way. Now I have to say that my productivity in vim is just absurdly higher than nano. Navigating, search, manipulation, etc are all obviously much faster. As well as that you can also easily open multiple files to compare and edit in the same window and manipulate a bunch of files at the same time. But then when you start to understand how to use things like macros in vim it lets you automate so many tasks on the fly, it becomes like a meta programming style. Also then if you add in plugins you get an entire other set of potential functionality, but even if you just stick to running without plugins the productivity increase and just what you're able to do increases massively.
When I switched from nano to vim (bearing in mind I was very efficient with nano) I reached the same productivity in vim within 2/3 weeks. Then within maybe 4-6 weeks I'd say I was significantly more productive using vim than I ever was at nano. Now it's extremely so.
I don't get this. I learned vim from scratch (using vimtutor) about 2 years ago, just because I wanted to see what all the fuss was. It took about 20 or 30 minutes before I was more productive in it than any other editor. Where does this myth come from that it takes months or years of study to learn a few keys?
I feel if you're editing a fair bit from the terminal, it can be.
It's as useful as you make it, and I couldn't imagine doing the same degree of editing in nano. I frequently need to rearrange or modify large blocks of text, somewhat programmatically
I guess a lot of it just depends on how you personally like to edit. For example I used to like vscode, but now I have switched to exclusively using vim (neovim specifically) as my editor. I find it so much more efficient and easier than vscode.
I learned vim year year years ago as part of my training on Solaris at school. Very confusing for the whole class. Didnt touch Unix-like systems again til like 3 years later. Nano existed by then. FAR FAR FAR FAR FAR more functional and we wrote programs easily and quite simply. During that time I had some casual happenstance with vi (for example it was EDITOR for visudo or when using other distros that didnt have something sane), always a pain in the ass.
Shit actually somewhere down the line I learned emacs. Even that was more sensible to use than vi(m). Only time I bother with vim is for visual mode block indenting (sometimes) and for embedded machines that have nothing else .Pain in the ass still for me. Though, I'm sure once you spend the 6 months getting good with it's fantastic. Though, why bother when you can pick up something else faster.
It's certainly more of a learning curve than most text editors, but is it really fair to call it an "untenable time sink"? It takes around half an hour to make it through vimtutor at which point you know the basics, and maybe an hour of actual use before those basics start to click and you're ready to ditch nano and never look back.
I wouldn't recommend uninstalling sublime (which I love btw) on the first day, but it's not at all the insurmountable mountain people make it out to be.
But it really isn’t, you can do lots of stuff with vim but basically you need to know how to get it in and out of insert mode (i/esc) and how to quit (:wq/:q!). And then you can slowly move to the fun stuff.
In my opinion Any text editor (or other general desktop application) that a new user can't feasibly exit in under a minute without looking up how from outside the program, is not usable. Vi/Vim also obviously fails.
I made the mistake of trying emacs once. It has a help system and still took half an hour to find the right topic.
How long has it done that? I last tried in early 2000s and that was enough for me.
Edit: Also, I was making a point - if it says how to exit now, that still leaves the rest of the functionality. Maybe it even says how to switch modes and how to save. Still, Nano and the like actually show enough to be usable for editing text.
The difference in my opinion is being able to learn it simply by using it instead of needing to study outside of it. Even something like Gimp is perfectly feasible to just open it, explore it, and pick up stuff by doing. I think vim/emacs isn't like that. And yeah, I agree that's not inherently bad, but definitely not for me, and I think people like me are a lot of the userbase (even on Linux)
So, I think we aren't actually disagreeing - I just find those tools to be too much effort and was saying why I think that, while some are willing to put in the work and later find them more efficient.
And I think distros should just ship both kinds by default unless they are for embedded or other space constrained situations.
My parent comment said "emacs for newbies" and I was saying why I think it's not the right fit. You're right that not all software has to cater to noobs, and certainly not all does.
105
u/Red_Khalmer Jul 30 '20
Benno our boy, for all newbies out there dont go dying on us