i cant understand all the vim hyping. its probably very neat and can do whatever, but what good is that if it takes awful amount of bother to learn everything by heart since interface has been designed to be as unfriendly as possible. it doesnt have to be fit for office worker, but at least some ease of use is needed.
The interface is modal editing, which, yes, takes some getting used to. The payoff is that you get a kind of programming language for text editing. Rather than memorizing ctrl+shift+alt-style keybinds, you decompose stuff into chainable actions.
Have you ever played a video game, be it with kbd+mouse or gamepad, and realize you’re doing a bunch of stuff without actually consciously thinking about what buttons you’re pressing? That’s what working in editors like Vim or (my fav) Helix feels like.
Just in case you’re not trolling, here’s a simple example: yi) means yank inside )-parentheses. It copies the contents of round brackets. Core commands like these are relatively easy to remember
Yes. It’s mnemonic and composable whereas your key chord isn’t. It’s fine if you don’t care for it. Each to their own. I’m just explaining the appeal of modal editing
Interesting that you use the word “chord”, because guitarists and piano players have been remembering chords forever based on the position of their hands, not based on some letters and numbers. Your version isn’t more easily memorized, it’s just different.
They’re also fairly versatile. y-i takes any symbol after. Space, comma, the letter p, you name it. If you can type it, it’ll generally work.
Which can be a bit faster than some graphical editors at times, where you might have to find and select the contents by hand. That can be a bother if there’s a lot.
since interface has been designed to be as unfriendly as possible
No, it hasn’t.
It (well, vi, which vim is a clone of) has been designed to be a possible interface on a keyboard that doesn’t have arrow keys or other modifier keys than shift. There aren’t that many ways to program a visual text editor when those are your constraints.
That it’s more productive once you know it is a side-effect.
It (well, vi, which vim is a clone of) has been designed to be a possible interface on a keyboard that doesn’t have arrow keys or other modifier keys than shift.
That sounds great and all, but in the last 40yrs I have not owned (or seen…) A keyboard like that.
For whom the heck was this useful? 😁
Not mocking, I do use vim or nano, but also never got why it had to be so incredibly unintuitive.
You don’t have to move your hands while touch typing. This is the single biggest reason why vim is still used today, regardless of whether you have arrow keys or not. In fact vim does support arrow keys and using the mouse as well! It’s just much easier to edit files without needing to move your hands and/or use a touchpad/mouse.
Even then, not having to move your hands means not spending time… Moving your hands.
This is useful for people who want to spend time learning to be enforcement at what they do. In the same way that holding a Nintendo controller “weird” is useful for Tetris speed runners.
If you are as efficient as you need to be using a shower interface, then great. Other people need (or more likely want) to be more efficient than that.
Maybe I’m a luddite, but I still don’t understand why people want to spend their time arguing with Claude code and fixing it’s bugs. Rather than just learning to write productive coffee themselves. But, people do. That’s their choice, and I let them to it.
If prefer to spend my time learning him and code, than Claude and idiosyncrasies, and then whatever to comes next, and next again.
My netbook has a keyboard without Home, End, PgUp, PgDn, Ins and Del keys. Vim and Emacs modes make it significantly more usable while remaining small. Vim is also convenient in Termux, for quick remote fixes from a phone.
Vim is actually highly ergonomic; you can do everything with a minimum of keystrokes without moving a hand away to a mouse or touchpad or oven the arrow keys. If that’s worth the time investment to learn it, is a highly subjective question. But I’d say it’s a lot easier than many people think.
Though, if you prefer, you can also move your hand to the mouse. With the scroll wheel and good hand-eye coordination, you can get pretty close to the speed of a true vim exper–haha jk, they finished converting the entire source file from python to rust using a specially crafted regex by the time your hand reached the mouse and implemented a matrix view by the time you scrolled to the line you wanted.
And when you say that falling green symbols aren’t that impressive, they look at you in confusion for a moment before realizing what you meant and handing you a VR plug to show you what “matrix view” really means.
Learn Vim motions and use a plugin for another IDE. You are losing so much time and mental energy using a mouse for coding. You can also use something like NVChad with NVim and have a Vim that looks more like modern ides.
That’s the really hard part. You will be really slow before you get fast again. I couldn’t practice at work without getting fired for getting nothing done. I had to learn at home doing projects, which also means those project basically made no progress for a while.
There are some really cool things that people never talk about. Like NeoVim has this integration with JetBrains rider that acts as a bridge and connects the two. Changes are live on both and you only switch to Rider to debug.
It’s not “designed to be as unfriendly as possible”, it’s designed to be exactly what you configure it to be, that’s why I love it. Every keymap, every screen position, every worflow, the way it searches through lines and files names, everything was configured by me, so whenever I do something in my editor it always make absolute sense for me, because it was literally made for me.
If you get me to someone else’s neovim config I would probably be absolutely lost because it’s a very unique experience for each person, some people like to bloat it out with plugins others like to keep it bare minimum and so on.
One biggest lie abput vim is the productivity, it doesn’t make you that much faster in comparison to any other editor if you take the time to learn the keymaps from them, the real strong point of neovim is having an editor that is absolutely tailor made for you in a way you cannot achieve in OOB editors.
yes, i can get behind the configurability, lets you make the program into your own personal tool nicely.
my problem is that you have to do it in such difficult and unintuitive way. though it has been very long time since i last took a look at vim, so maybe things have improved and its easier to configure now, i doubt it though.
So it would be nice if getting into it was easier even if you havent used it as your main editor for last 50 years. not being able to even exit vim without looking up guide for it demonstrates this quite nicely.
Nowadays there many neovim distros that come setup with everything and you can learn as you go, but definitely not user-friendly still and the distros kind kill the point for me personally.
I totally understand prefering users friendly tools, but I think that fornevery software there is always some degree of granularity that makes it user unfriendly.
You asked about what the hype about vim was, I tell you: it’s the granularity of the configuration it’s 100% not it’s user friendliness.
In terms of command line editors, vim is extremely powerful and relatively easy to get started with, once you know how to get into insert mode and then save/quit. nano/pico are easier to learn but less powerful, and emacs is probably more powerful than vim, and more daunting to learn. Also, vim is installed on almost all systems, so there’s not really any extra work to get started using it.
I learned (neo)vim this last year. It really wasn’t that bad. You need to learn like maybe a dozen hotkeys to get going, but after that you can do :h <topic> for everything else. And it’s not even like you lose full functionality of your mouse, at least neovim supports a lot of mouse movements
i cant understand all the vim hyping. its probably very neat and can do whatever, but what good is that if it takes awful amount of bother to learn everything by heart since interface has been designed to be as unfriendly as possible. it doesnt have to be fit for office worker, but at least some ease of use is needed.
The interface is modal editing, which, yes, takes some getting used to. The payoff is that you get a kind of programming language for text editing. Rather than memorizing ctrl+shift+alt-style keybinds, you decompose stuff into chainable actions.
Have you ever played a video game, be it with kbd+mouse or gamepad, and realize you’re doing a bunch of stuff without actually consciously thinking about what buttons you’re pressing? That’s what working in editors like Vim or (my fav) Helix feels like.
By memorizing something else that’s equally or more obscure.
Just in case you’re not trolling, here’s a simple example:
yi)means yank inside )-parentheses. It copies the contents of round brackets. Core commands like these are relatively easy to rememberWhich is something you have to memorize. Do you honestly think that that is somehow easier to memorize than say “Ctrl-Shift-5”?
Yes. It’s mnemonic and composable whereas your key chord isn’t. It’s fine if you don’t care for it. Each to their own. I’m just explaining the appeal of modal editing
Interesting that you use the word “chord”, because guitarists and piano players have been remembering chords forever based on the position of their hands, not based on some letters and numbers. Your version isn’t more easily memorized, it’s just different.
They’re also fairly versatile.
y-itakes any symbol after. Space, comma, the letter p, you name it. If you can type it, it’ll generally work.Which can be a bit faster than some graphical editors at times, where you might have to find and select the contents by hand. That can be a bother if there’s a lot.
No, it hasn’t.
It (well, vi, which vim is a clone of) has been designed to be a possible interface on a keyboard that doesn’t have arrow keys or other modifier keys than shift. There aren’t that many ways to program a visual text editor when those are your constraints.
That it’s more productive once you know it is a side-effect.
That sounds great and all, but in the last 40yrs I have not owned (or seen…) A keyboard like that. For whom the heck was this useful? 😁
Not mocking, I do use vim or nano, but also never got why it had to be so incredibly unintuitive.
You don’t have to move your hands while touch typing. This is the single biggest reason why vim is still used today, regardless of whether you have arrow keys or not. In fact vim does support arrow keys and using the mouse as well! It’s just much easier to edit files without needing to move your hands and/or use a touchpad/mouse.
Even then, not having to move your hands means not spending time… Moving your hands.
This is useful for people who want to spend time learning to be enforcement at what they do. In the same way that holding a Nintendo controller “weird” is useful for Tetris speed runners.
If you are as efficient as you need to be using a shower interface, then great. Other people need (or more likely want) to be more efficient than that.
Maybe I’m a luddite, but I still don’t understand why people want to spend their time arguing with Claude code and fixing it’s bugs. Rather than just learning to write productive coffee themselves. But, people do. That’s their choice, and I let them to it.
If prefer to spend my time learning him and code, than Claude and idiosyncrasies, and then whatever to comes next, and next again.
At the time vi was originally developed, such keyboards did exist (on terminals). That’s the reason it works the way it does.
Weird terminals but ok. I actually even like vim
My netbook has a keyboard without Home, End, PgUp, PgDn, Ins and Del keys. Vim and Emacs modes make it significantly more usable while remaining small. Vim is also convenient in Termux, for quick remote fixes from a phone.
I never thought anyone needing an editor would use such devices for it. But OK, that makes total sense for those.
Vim is actually highly ergonomic; you can do everything with a minimum of keystrokes without moving a hand away to a mouse or touchpad or oven the arrow keys. If that’s worth the time investment to learn it, is a highly subjective question. But I’d say it’s a lot easier than many people think.
Though, if you prefer, you can also move your hand to the mouse. With the scroll wheel and good hand-eye coordination, you can get pretty close to the speed of a true vim exper–haha jk, they finished converting the entire source file from python to rust using a specially crafted regex by the time your hand reached the mouse and implemented a matrix view by the time you scrolled to the line you wanted.
And when you say that falling green symbols aren’t that impressive, they look at you in confusion for a moment before realizing what you meant and handing you a VR plug to show you what “matrix view” really means.
fluency. languages are hard to learn but when you know them you communicate better. same as touch-typing, or mobas.
Learn Vim motions and use a plugin for another IDE. You are losing so much time and mental energy using a mouse for coding. You can also use something like NVChad with NVim and have a Vim that looks more like modern ides.
maybe it really would be worth the effort to learn 🤔
That’s the really hard part. You will be really slow before you get fast again. I couldn’t practice at work without getting fired for getting nothing done. I had to learn at home doing projects, which also means those project basically made no progress for a while. There are some really cool things that people never talk about. Like NeoVim has this integration with JetBrains rider that acts as a bridge and connects the two. Changes are live on both and you only switch to Rider to debug.
It’s not “designed to be as unfriendly as possible”, it’s designed to be exactly what you configure it to be, that’s why I love it. Every keymap, every screen position, every worflow, the way it searches through lines and files names, everything was configured by me, so whenever I do something in my editor it always make absolute sense for me, because it was literally made for me.
If you get me to someone else’s neovim config I would probably be absolutely lost because it’s a very unique experience for each person, some people like to bloat it out with plugins others like to keep it bare minimum and so on.
One biggest lie abput vim is the productivity, it doesn’t make you that much faster in comparison to any other editor if you take the time to learn the keymaps from them, the real strong point of neovim is having an editor that is absolutely tailor made for you in a way you cannot achieve in OOB editors.
Yeah, but as a 30-year vi/vim user, using it nearly every day - it IS pretty user-unfriendly
The initial learning curve is very rough, since people might be used to commands from a newer editor like Notepad++, which doesn’t work in vim.
nano at least says which button combination you need to exit, for example.
It is easier past the initial hump, though.
yes, i can get behind the configurability, lets you make the program into your own personal tool nicely. my problem is that you have to do it in such difficult and unintuitive way. though it has been very long time since i last took a look at vim, so maybe things have improved and its easier to configure now, i doubt it though.
So it would be nice if getting into it was easier even if you havent used it as your main editor for last 50 years. not being able to even exit vim without looking up guide for it demonstrates this quite nicely.
Nowadays there many neovim distros that come setup with everything and you can learn as you go, but definitely not user-friendly still and the distros kind kill the point for me personally.
I totally understand prefering users friendly tools, but I think that fornevery software there is always some degree of granularity that makes it user unfriendly.
You asked about what the hype about vim was, I tell you: it’s the granularity of the configuration it’s 100% not it’s user friendliness.
It tells you how to exit if you press ctrl+C, which is many people’s first instinct.
Friendly is useful in an application you use once a week. Anything you want to work with daily, like a text editor, needs to be efficient.
The cult of vim feels very superior for being able to plow through its user-hostility
In terms of command line editors,
vimis extremely powerful and relatively easy to get started with, once you know how to get into insert mode and then save/quit.nano/picoare easier to learn but less powerful, andemacsis probably more powerful thanvim, and more daunting to learn. Also,vimis installed on almost all systems, so there’s not really any extra work to get started using it.I learned (neo)vim this last year. It really wasn’t that bad. You need to learn like maybe a dozen hotkeys to get going, but after that you can do
:h <topic>for everything else. And it’s not even like you lose full functionality of your mouse, at least neovim supports a lot of mouse movementsAnd even if you decide to go for modal editors, Helix is a lot better out of the box
Okay, I’m going to use vim, and you get to use vim’s predecessor, ed. I’m sure you won’t mind, since vim is soooooo user-unfriendly! Right?
Vim doesn’t suck any less because something else is worse
My point is that vim’s design makes sense if you take into account the historical context that it was developed in.
My preferred text editors are Neovim and Kate
Kate has some convenient features, mainly the easy GUI. Neovim is the CLI text editor that I find works best for me.