If I try to learn VIM, will I be glad I did?
resolved Jan 19

Resolves N/A if I don't end up trying to learn Vim, resolves Yes if I do and am glad I tried to, No if it is too frustrating and I give up/it feels like a waste of time, somewhere in between if I had mixed feelings.

I'm not necessarily referring to the specific Vim program—if I use the Vim keybidings feature in Obsidian extensively then that would count. It's about attempting to develop the skill set, not about installing Vim.

Get Ṁ600 play money

🏅 Top traders

#NameTotal profit
Sort by:

I think, to the extent this is a market that's supposed to inform me on my decision making, I would've wanted it to be No, so I'm gonna go with this.

If anyone wants to make the argument that their bet was specifically because they predicted that I wouldn't decide that what I've done so far constitutes "trying to learn VIM", I might be willing to give some small amount of mana as compensation, but also—I dunno, to some extent it is your fault for betting on a market that was supposed to be about informing me personally.

predicted NO

Honestly I think 50% was about right absent more information about you personally, a lot of people like vim and a lot don't. I'd still recommend learning it given I like it a lot better than other editors

@jacksonpolack yeah, I'm not saying 50% was miscalibrated, just that I think I'd want to lightly discourage past me from trying it

predicted YES

I made a couple vague attempts to get started with this, but didn't really make any significant progress. I've maybe spent like, 3-5 hours either fiddling with hotkeys or doing some practice with basic commands, but I never reached a point where I was navigating Obsidian with VIM keys on a regular basis instead of using my mouse.

I have no idea whether to count that as an attempt and resolve NO, or if I should resolve N/A, or maybe resolve to 50% or something. Does anyone want to make an argument one way or the other? I feel like just leaving the market open indefinitely is kinda dumb.

I think no or n/a are fine. 50% isn't a good reoslution imo, there's no sense in which this partially resolved yes because you sort of do use vim or are sort of glad you learned it

@April vim takes at least a month of using it as your primary tool before you will start to feel comfortable with it. I highly highly recommend using the vim-tutor command to learn the basics (spend a few hours on it) then using vim as your only editor for at least that month.

@Pykess I think I do not want to do that

@jacksonpolack yeah that is a compelling argument against 50%

What’s the expected resolution date?

predicted YES

@oh ...i'm going to open this back up, actually, in case people want to get their mana out when it's probably going to be a while before it actually resolves. i have realized that i am not very good at making myself just sit down and grind out learning something, and i'll probably actually see something more like gradually integrating more VIM commands into my work flow.

predicted NO
predicted NO

How's it going?

predicted YES

@EvanDaniel I put a little effort into learning things but for a couple weeks I haven't been doing much—maybe I'll try putting my note taking app into VIM mode today

predicted YES

@April Okay yeah, I did that and set up some rebindings (since hjkl is ridiculous to use in colemak)

I don't think spending the time to become a vim god is worth it but learning the basics is useful. Great for remote shells and if you're already working in a command line interface and are too lazy to leave it. Sometimes I just want to peek into a file and make some quick edits and its nice. I wouldn't get too worked up over trying to utilize complicated strings of commands; just go for the basics one step at a time and your learning can compound as you use it naturally. vimtutor is how I started, and here's my config (rename to .vimrc and place in ~/) in case it's useful.

predicted YES

I always like using keyboard shortcuts over my mouse whenever possible, such as in my browser and OS. If you enjoy the journey of perpetually optimizing your efficiency and understand it is a thing you never reach but always get better at you'll be happy with it.

predicted YES

Okay, I'm gonna start trying now

predicted YES

@April Good luck! Vim really doesn't need tweaking (especially as a plug-in) except that you want easy access to your escape key. Many change their keyboard layout such that Esc becomes caps-lock and vice versa. Google will help you out there.

predicted YES

@April If you haven't done this already, I suggest trying inoremap jk <Esc> or similar in your vimrc so your escape key is [eg] j-then-k-in-quick-sequence. Caps lock is nice but you can't beat letter keys for ergonomics and since you're escaping all the time in Vim it makes a huge difference

Might be cool to make a similar market for emacs.

predicted NO

As someone who has spent hundreds of hours editing code in vim: it was great in its day -- which was mostly when your parents were toddlers -- but we actually have learned some things about UX design and optimization since 1974 (leaving learnability aside). Modern IDEs have features like regex search and replace available with no more keystrokes than vim.

@ML using vim as the main coding environment is only one use case – I mostly use it for editting config files on remote servers or analyzing or formatting documents my IDE is not well suited for.

@ML But what can they do better? Aside from extensive autocompleting, as someone who actively dislikes that.

predicted NO

@Lorec Well, code refactoring. to start with. Not just renames (which can be done in vim with a macro activating an LSP plug-in) but things like e.g. IntelliJ's "pull members up", "replace inheritance with delegation", "extract interface". In IntelliJ's case there are also quality-of-life things like many dozens of code inspections (like "Loop can be replaced with Collection.removeIf()") most of which offer two or three-keystroke shortcuts to fix them for you in various ways (such as by replacing your loop with a provably equivalent call to Collection.removeIf()). It is also nice to, when stopped at a breakpoint while debugging, mouseover a variable to see its current value with zero keystrokes required. I could go on (without mention any generative-AI-based features).

predicted YES

@ML I agree with this. I use IntelliJ at work, but the best part is the IdeaVIM plugin. Most time spent coding is still humdrum vertical and horizontal navigation followed by inserts and deletes, which VIM makes less unbearable. I love that basically every IDE has a VIM plugin, so I can bring all this mundane utility with me across IDEs and into server ssh sessions as well.

predicted YES

@ML Thanks for the thoughtful response! To clarify, refactoring falls into the category I had in mind when I said "extensive autocompleting". I'm turned off as a user by any features that try to understand the semantics of my code and do anything with that, beyond simple auto-indentation and paren-matching in Lisp specifically - IME it doesn't work nearly as well in other languages.