Hacker News new | ask | show | jobs
by wmccullough 3000 days ago
This is true for me :(

I'm a career-long .NET dev and I've wanted to step away and begin learning C++ on a non-Windows platform with VIM and my only attempts were met with so much frustration that I gave up. To be clear, I believe in the power of VIM, I just never got acclimated to it.

Maybe this year is the year I stop making excuses and just learn.

P.S. I see lots of arguments elsewhere about whether VIM is an IDE. Either way I think your first point stands in my case @oblio.

2 comments

Do it one step at a time.

Use dotnet core on Windows, with Visual Studio.

Use dotnet core on Windows, with Visual Studio Code.

Use dotnet core on Linux, with Visual Studio Code, etc.

Then maybe try dotnet core on Linux, with Vim.

But don't believe the hype. I use Vim as an editor because I do a lot of scripting. I use it even on Windows. But I use it because I'm already used to most of its commands, I have a decent config file for it (somewhat lean, not that many plugins) and for my job I need to know it cause I often interact with various systems which use it.

Despite being a touch typist and knowing most of the commands, I'm still a Vim heathen. That is, I don't use numbered yank buffers, I just use the default one, I also remapped Ctrl-c, Ctrl-v to do visual block operations for when I'm too lazy to come up with fancy selections, etc.

Anyway, my point is, using Vim might not pay off fully. My brain just isn't wired to work in Vim commands. And I know and use w, W, b, B, f, t, folds, blah, blah. I definitely don't use it to "magician" level.

You know what? I think in the end it doesn't matter. The only time Vim's nature actually helps is when I pre-process some sort of text data dumps.

For the other moments I'm thinking way more than I'm writing or editing. So it's not the text editor that's the blocking point.

Damn blocking IO. Getting outputs from the brain is hard and slow!

I see, I see.

Thank you for the advice!

I tend to want to learn how things "on the other side of the tracks" work mostly because I get tired of the heated debates around tooling and I'm determined to learn as much as I can so that I can be well-rounded (that and C++ has been the beast I never finished taming).

Do you have any recommendations for a distro of Linux that would be easy to switch to? Go gentle on me, I'm a Wandows kid by day!

EDIT: Seems I can't reply to you anymore. Thanks again for your recommendations. I think a VM is a good route too. I'm not too concerned with purity at this point as much as learning. I can find beauty in most systems regardless of ideology :)

Well, if you're motivated enough, don't switch. Just fire up a VM.

Unixen are generally the same, but you won't figure that out at first, so you do want something a bit friendlier.

My personal opinion would be to go with the mainstream distributions, since you want support from fellow humans on chat, forums, etc. I'm more of an Ubuntu guy, but people seem to like and use Mint or Debian or Fedora.

Don't fall into an Arch or Slackware trap early on, I don't really see the benefit of going for "purity" at this stage. There's this curve, I find, where you first go for newbie friendly, then you go for hardcore, and then you find a balance. The mainstream distros can be user friendly and are balanced. If you want to learn a lot, IMO go all in and either go Linux From Scratch (LFS) one time, or Gentoo for a while. But since you're a professional, after getting a hang of things with some deep learning (see LFS or Gentoo), you probably want to stay close to corporate environments. Those generally are Red Hat/Cent OS (so Fedora is somewhat close) or Ubuntu/Debian (Mint is also close).

TL;DR: Make an Ubuntu VM, start using it full-screened as much as possible instead of your Windows host. See how far that takes you. Good luck and have fun! :)

Could go even easier by installing Git for Windows and using the included bash prompt.

It's a MinGW environment with very good factory configurations. It won't let you apt-get and run any old app, but it does get you all the goodness of a bash prompt and all the standard Unix command-line apps. All right there in Windows, without having to also learn and get comfortable in a new operating system.

If he has Windows 10 he could even go WSL, forgot about it.
Could, but, IMO, if you don't need to run arbitrary linux apps then gitbash is the better option. It's more performant for file operations, and you don't have to deal with gotchas like, "Don't edit files that don't belong to WSL from WSL, only read them."
Why did you want to use vim? If you want a full-featured modern C++ IDE on a non-windows platform, try Jetbrains CLion.