Live data from Hacker News

What Is Vim?

blog.jonas.foo

71–80 of 179 posts

Re: What Is Vim?

#71

Agree that Vim is a language to talk to your computer, but it's not necessarily efficient. Vim is famously an imperative editor: You have to tell Vim the sequence of steps to perform. Clicking your mouse on a position on the screen is declarative: You declare you want the cursor here. With Vim you have to imperatively walk the cursor to where you want to go, or god forbid use something like easymotion.

> With Vim you have to imperatively walk the cursor to where you want to go

I used to use vscode with mouse. Then vscode + vim with mouse. Then I forced myself to actually learn how to "properly" use vim, including all the motions plus enabling smart line numbers.

As a result, my right hand switches between keyboard and mouse much less than they used to, and I can do development work with my hands stay on the keyboard for minutes or longer. It made me more efficient, and RSI was much less of a problem.

Re: What Is Vim?

#72
Vim is not only an editing language, but a fast-starting editor with a small-ish native executable, and small run-time memory use.

This facet is typically not ported into other editors that have a Vim mode.

Vim runs natively inside virtual machines and containers, on resource-constrained embedded systems, and on remotely accessed machines.

Another aspect is that Vim can be operated entirely using a terminal emulator, and so can be running on a remote host to which the use only has a SSH or serial connection.

Re: What Is Vim?

#73

> There's a Vim mode in every single mainstream code editor out there. And they’re always frustratingly incomplete and/or buggy. Some motions will be unimplemented, or will behave incorrectly, especially with regards to boundaries around whitespace inclusion or exclusion in a motion. Things you added to Vim and got used to are unavailable, and so your ysa") to put parentheses around the string your cursor is on just…

> And they’re always frustratingly incomplete and/or buggy.

Have you tried evil-mode (Emacs VI Layer - E.V.I.L.), an implementation of the vim-bindings in Emacs? I've heard it works very well.

Or, at least, the Emacs subreddit seems to get a pretty steady flow of people who come from vim and get into Doom Emacs, which has evil-mode (and lots of other stuff) pre-configured and ready to go.

They seem very happy, from reading their reports, anyway.

Re: What Is Vim?

#74

> There's a Vim mode in every single mainstream code editor out there. And they’re always frustratingly incomplete and/or buggy. Some motions will be unimplemented, or will behave incorrectly, especially with regards to boundaries around whitespace inclusion or exclusion in a motion. Things you added to Vim and got used to are unavailable, and so your ysa") to put parentheses around the string your cursor is on just…

Yeah when you live in vscode vim mode you learn to completely avoid certain vim features

Re: What Is Vim?

#76

> There's a Vim mode in every single mainstream code editor out there. And they’re always frustratingly incomplete and/or buggy. Some motions will be unimplemented, or will behave incorrectly, especially with regards to boundaries around whitespace inclusion or exclusion in a motion. Things you added to Vim and got used to are unavailable, and so your ysa") to put parentheses around the string your cursor is on just…

> And they’re always frustratingly incomplete and/or buggy. Have you tried evil-mode (Emacs VI Layer - E.V.I.L.), an implementation of the vim-bindings in Emacs? I've heard it works very well. Or, at least, the Emacs subreddit seems to get a pretty steady flow of people who come from vim and get into Doom Emacs, which has evil-mode (and lots of other stuff) pre-configured and ready to go. They seem very happy, from r…

This is my current setup, and I love it. To me it brings together the best of vim with the richness of Emacs.

Setting up Emacs from scratch is quite the project though if you want all the bells and whistles

Re: What Is Vim?

#78
post #29

> There's a Vim mode in every single mainstream code editor out there. And they’re always frustratingly incomplete and/or buggy. Some motions will be unimplemented, or will behave incorrectly, especially with regards to boundaries around whitespace inclusion or exclusion in a motion. Things you added to Vim and got used to are unavailable, and so your ysa") to put parentheses around the string your cursor is on just…

> And they’re always frustratingly incomplete and/or buggy I refer to this as the Vim Uncanny Valley

Feature request: `:vuv` causes vim to replace native operation by a broken, buggy half-implementation. Optional enhancement: LLM learns your favorite commands, and makes sure that they specifically are broken.

Re: What Is Vim?

#79

Vim is not only an editing language, but a fast-starting editor with a small-ish native executable, and small run-time memory use. This facet is typically not ported into other editors that have a Vim mode. Vim runs natively inside virtual machines and containers, on resource-constrained embedded systems, and on remotely accessed machines. Another aspect is that Vim can be operated entirely using a terminal emulator,…

Well said. I use nvim with all kinds of plugins and a custom init.lua, and then I use vim (or nvi) when something goes wrong with my init.lua, and nvim won't start, or when I want to quickly open a file really quickly and not wait the second or so it takes for my nvim setup to load.

Likewise, vim lets me do local editing on any system I connect to as there's rarely ever a Unix left that doesn't have vim installed. (Back when vim was the new kid on the block, I said the same thing about stock ex/vi - I made sure I was comfortable editing in vi, and then I never felt uncomfortable when I had to do work on a remote system.)

Another benefit with vim or nvim is how easy it is to copy someone else's full-featured setup: one of the programmers I work with is really into nvim, and he figured out an ideal setup for both working on Go and Python code. Then he just shared his setup with me. Copying someone's VSCode setup with plugins and all and getting it all to work would be a multi-hour ordeal.

Re: What Is Vim?

#80

> There's a Vim mode in every single mainstream code editor out there. And they’re always frustratingly incomplete and/or buggy. Some motions will be unimplemented, or will behave incorrectly, especially with regards to boundaries around whitespace inclusion or exclusion in a motion. Things you added to Vim and got used to are unavailable, and so your ysa") to put parentheses around the string your cursor is on just…

>And they’re always frustratingly incomplete and/or buggy. My favorite is all the applications which have a vim mode and are clearly done by people who think that just means making hjkl act like arrow keys and adding in a few single key commands. I wish more people would take the time to understand what modal editing actually is. In a project of mine which has an editor that is pretty much vim with a few modification…

One day during my vim journey I discovered filters and realised I could turbo charge my editing by running selections through any and all of unix and now I don't need fancy spacing plugins - I have `column` and I can `sort`

This then allowed me to golf a one line vim macro that shells out a selection to nc which connects to a clojure socket repl

I don't think many "vim modes" would allow that. The most earnest of vim modes is probably evil mode. Of course, only your true mortal enemy could ever understand you...

Post reply on HN