Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I never understood the appeal of these command-line editors with a million commands for different edge-cases. Why not just use VSCode? It has every possible extension you already need and a simple GUI. No need to type commands just to edit text when there's a file manager... It has remote SSH and features for vm machines. To me the kinds of people using these editors are the kinds of people that love making everything more complex to seem smart.




Since you asked:

* I’m old. I learned Vim many years before VSCode existed and I have good muscle memory for using it.

* Vim defines many editing commands are available in other places such as shells, db clients, REPLs so I can bring my way of working with me across OSs.

* Learn Vim once and you know it for all time as other editors come and go.

* Vim/NeoVim has even more plugins than VSCode both its own and via LSP, etc.

* Vim is true FOSS. No one can take it away from you, control how you use it or insist they are given ownership of your work including training rights.

* I’ve worked with many VSCode users since it launched. The way I see them using it seems slow to do simple tasks and unappealing.

* Vim is getting easier to use because LLMs are making it easier to learn some of the obscure features.

I don’t mind what editor anyone else wants to use so long as I can use NeoVim. I’ve worked some jobs where the boss insisted everyone has to use what they use and I’ve never stayed long when that happens.


> Why not just use VSCode?

Learning modal editor - vim, nvim, emacs is like skiing or snowboarding. For anyone uninitiated this whole endeavor may seem dumb - you have to spend so much money, time and effort, so you can just descent from a mountain peak to its base on a piece of wood? Absurdly bananas.

Some may even try hitting the greenest, flattest, most beginner-friendly slopes with great confidence, only to find themselves face down in the snow minutes after getting on the lift. They try again. Sometimes, falling for the fourth or fifth time reinforces their belief that it's really is dumb and they just quit at that point.

Some newbie skiers, after a few successful runs, get overly excited and head to the lift for the steeper slope, only to regret their decision. If falling all the way down doesn't make them quit, they may eventually start enjoying it.

At some point, they'd gain so much experience - their movements become smooth and graceful, their speed intimidating. Suddenly, they'd discover an enormous, indescribable feeling of joy. There's so much tacit - emotional, mental and physical enlightenment that is almost impossible to convey to another soul who's never experienced it or rose to that level.

Then there's a spectrum of differences - some still fall all the time yet enjoy it nonetheless, and they enthusiastically discuss with other beginner skiers how awesome they feel. Some, after mastering the most difficult carving techniques, somehow forget their own beginner's journey and become apathetic toward rookies.

So, then why ski [vim] at all? Well, it is truly one of the most efficient, fastest, healthy ways of getting back to the base [dealing with text]. But most importantly it's tremendously fun. Often, in quite indescribable ways. I'm afraid you would never understand the appeal until you do try it. But even then, it's never guaranteed you'd find that thrill; then maybe skiing [vimming] isn't for you. Even though these activities literally for everyone (unless they have physical/mental barriers).

I honestly can't take seriously any programmer who doesn't know the basics of vim - doesn't that suggest they've never used sed, less, or read through man pages? Have they never had to ssh to a remote machine in the terminal? I do though get it, when people say "I tried it and ain't for me". I suppose, it just means they've never hit the spot that inspired them to keep going.


Why use C++ when you can use BASIC?

The learning curve can be steep but once you learn vi/Vim you can never go back to an IDE like VScode because it is so unbelievably limited.

When you get comfortable with vi it really begins to feel like you can type text in VScode but you can't edit it.


> To me the kinds of people using these editors are the kinds of people that love making everything more complex to seem smart.

I finally jumped the gun almost a decade ago because I had too many Electron apps for my cheap laptop to handle and had to scale down to be able to get anything done without freezes.

At first the modal editing was difficult but it clicked immediately and these days I'm handicapped in normal typing. I still type vim motions by accident in Libreoffice which is the last program I use that doesn't support modal editing. Lately I'm getting around that by typing in markdown and using pandoc to convert it to `.odt` or `.docx`.

> every possible extension you already need

In Vim land the first step isn't to install an extension, it's to create a keybinding. It can be as simple as a one-liner, to a shell script or even command-line tools. You can run it on the filename, the file contents, or the selection. The only limit is your imagination and experience. You don't really get it yet because you're conditioned into thinking the way you're used to, not how it could be done.

It has nothing to do with looking smart, I don't care what others think. Could it be your own coping mechanism for feeling dumb about not being able to use it?


> To me the kinds of people using these editors are the kinds of people that love making everything more complex to seem smart.

If your instinct is to be denigrate people who do things differently than you, you will never understand them. However, you get the advantage of feeling superior.

Let me say why I continue using vi. I started using vi in the early 80s, then moved to vim in the mid 90s. Even people who aren't as old at me have more than a decade of using vi/vim/nvi. Those commands that seem like a burden to remember are completely transparent to me -- that is, I don't need to think about what keystroke to hit to achieve my ends. Why should I climb another learning curve?

If you tell me to just download a vi mode for vscode, I can tell you that the basic motions work, but that last 10% cause unending grief. It is like eating pasta where every 10th noodle is actually a rock disguised to look like a noodle -- completely disruptive.

I can edit quickly when I don't need to move my hands off the keyboard. Likely your dominant hand is flopping back and forth between the mouse and the keyboard when using your gui-centric editor.

> I never understood the appeal of these command-line editors with a million commands for different edge-cases. Why not just use VSCode? It has every possible extension you already need

I'd prefer to have a few dozen composable verbs and nouns than having to research and download "a million" extensions for the edge cases.

> No need to type commands just to edit text when there's a file manager

I have no idea what you mean by this. How does a file manager edit your text?

> It has remote SSH and features for vm machines

You can do that from vim as well. vim/nvi has a plugin ecosystem too. My own philosophy is to use as few of them as I can: one (the 'matchit' feature which ships with the editor).

The final thing you are missing is that nobody uses all the commands -- they find the ones that work for them and they use them without further thought once it becomes muscle memory. If the need ever arises to learn a new command or setting, I'll get around to it when the time comes. If I learn a bunch of things and don't use them, they get quickly forgotten anyway.


This matches my experience completely: more than 40 years using vi and then vim, my fingers and my brain know to do.

I've tried to use VScode, especially since people said that it could emulate vi... it can't. Some of the basics are there, but then you forget you are in a different program, and use something that works in vim... and it fails. A couple of times with catastrophic results: I lost a file completely after typing a command.

I actually repeat the experiment every year or so, but I do not see much improvement.


> To me the kinds of people using these editors are the kinds of people that love making everything more complex to seem smart.

"I don't understand something and instead of asking nicely I decide to throw a tantrum and offend people". Why do you think it's appropriate to say things like this? Did I or any other vim/emacs/whatever user forced you to convert to their editor of choice?


I use zed now, Pycharm before that, Emacs before that, VSCode before that - one common thing amongst them all, I always install the “vim mode” plugin as the first thing. I always have a working vim/neovim setup beside all of them.

It’s not to look smart or because I like making things complex. I am not the one to tinker too much (hence the jump between editors, if I get too invested, I move). The benefits of VIM motions have nothing to do with the editors themselves. If you have never tried it, I would strongly recommend giving vim mode a go, in whatever editor you fancy.


these command-line editors with a million commands for different edge-cases

Have you ever actually tried vim? You use the keyboard to move around and search for terms. You don't actually need to learn much.

Why not just use VSCode?

Because it's a bloated electron program that takes huge resources to edit text.

To me the kinds of people using these editors are the kinds of people that love making everything more complex to seem smart.

Seems like insecurity if you've never learned it yourself.


If I'm already in the terminal, they're perfect for quickly looking through and editing files. Heck, I've done it plenty where I'm in the VS Code embedded terminal to run some commands and then I want to quickly touch a file and so I open neovim inside the VS Code terminal!

I would absolutely not agree it has a "simple GUI". It's "minimullizm" web slop trash that only appears simple because it hides all of its complexity behind a big dumb menu that lists everything alphabetically with a search box. It's one of the most dogshit user interfaces I've ever used.

you do not need to install it anywhere... its already everywhere ( I am vim enthusiast )

for eg: Keep right hand free for writing/eating by reserving left hand for mouse. (keep same settings for right handed mouse) Brrrr... :p


So would the use-case mostly be for people who edit lots of files over shells? I guess I was mostly thinking of coding stuff. Or do people use it for coding too?

I mostly use IDEs for day to day coding, and pretty much every IDE supports vim keybindings, which I always have enabled. I also use vim in the terminal for small edits and one-off files, so it's not either/or.

After the initial learning curve and fiddling with settings, it just becomes natural and you can edit code or other text at blazing fast speeds. I also find that it helps with RSI by reducing arm motions reaching for the mouse.

Of course, there are other good options out there, but if vim fits your brain, it can significantly boost your editing speed. For those who say programmers don't spend that much time typing, that's true sometimes, but there are periods after the design/planning phase where we type a lot, and I want that to go as fast as possible while I have an implementation loaded into short term memory.

As someone who used to be a vim skeptic myself, I'd suggest you either give it another look or just accept that it works well for other people and go on with your day.


Of course vi/Vim is used for programming ('coding').

I've been doing that since the early nineties. First vi, later Vim.

I like it better than Visual Studio, better than Eclipse and way better than VScode.


> Or do people use it for coding too?

Over time, you may discover one of the biggest truth about computing - the immense (and sadly disregarded) value of plain text¹. Code is nothing but structured text. The cardinal job of a programmer is text manipulation.

I'm reading this thread in my editor. Why? Because I'm dealing with text - browsers are great for presentation of text, not so nice for manipulating it. What kind of manipulations? Well, I can find, sort, group, narrow, collapse/expand, translate, extract summaries for paragraphs, find all the URLs (including matching a pattern), etc. Good luck doing all that in the browser - even with the extensions.

Most developers don't even get annoyed by seemingly small things. Like how often do you need to bring the url of a given browser tab into your editor? Simplest thing, yet do it dozens of times a day and it gets vexing. For me - it takes milliseconds and a keypress - it even extracts the URL description and converts the link to markdown (if needed).

Or another example - whenever someone's screen sharing, or I'm watching a video and they show a piece of text (let's just for consistency say a url). How would you normally extract it? e.g, for your notes. For me - it takes selecting a region of screen and a keypress - my editor calls a CLI OCRing tool and voila. I don't really care that the source isn't "technically speaking" text - if I can read it, then computer for sure can "read" it too, am I right? That's text manipulation.

There may be dozens (if not hundreds) of such examples (including coding-related) in my workflow that work on top of the idea of manipulating plain text.

Once you grok the cerebral virtue of the idea of having complete and total control over text, you may find that modal editors - nvim/emacs/etc. - are the best instruments to achieve that control.

___

¹https://graydon2.dreamwidth.org/193447.html




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: