Hacker News new | ask | show | jobs
by CiTyBear 1072 days ago
Many people complain about the time you need to have a proper vim. In computer security, I learnt to make my own tools, to develop my own script that match what I want to do/scan.

For vim, this is exactly the same. I started with Python so my vim became the best Python IDE (for me) and that's all. What I said to junior dev is "Here my vim conf, you are allowed to copy/paste only what you understand". Then I did some Typescript and added a configuration that works for me. Thus, some pain point came from my old config in python, I found new good plugins and added them. And so on with rust and ruby. Everything is commited so now, on a new machine, it takes me the time to copy/paste my config and write :PlugInstall.

Everytime I test vscode, it does not do what I want and when I look into it, I can't configure it correctly. Vim has always my back.

5 comments

Indeed, yet I switched to vscode after 10 years of vim because it is next in line to vim when powerfull editor is in question, and once you set it up you can have it 0 on-boarding everywhere else working on ANY machine you use, including browser. I use a lot of machines and I want my editor with me. Its mind blowing that you can just login in GitHubs vscode within a web browser on any repository and have your own vscode with config, hotkeys, extensions and whatnot, the same as on the desktop.

I do miss vim editing constantly, and I could never feel vim emulations as a native thing, but vscode is really awesome, particularly its keyboard centric design and sync.

Once vim has this "works everywhere and my setup installs in 1 command" I will get back to it.

For me it feels easy to migrate my config.

Just copy/clone the dotfiles, launch neovim and run a command to update the plugins and everything is good to go.

> Just copy/clone the dotfiles, launch neovim and run a command to update the plugins and everything is good to go.

The last time I did anything like this was back in 2016, where I'd cribbed a relatively customized vim config that my boss had rigged up for python and C++ development. I spent so much time troubleshooting plugins and integrations across the various systems I was trying to do development on, I've been burned out on "just install a plugin and update stuff."

Even now, working with Ruby and VS Code, I feel like I have to troubleshoot my plugin stack once every other month because some behavior isn't working quite right. I loathe the idea of ever having to set this up on another machine, and I miss when I was a Mac developer who just (had to) use XCode. It was flawed, certainly, but the base function set Just Worked.

I used to have the stomach for having to chase down config issues and customizing my esoteric editor, but now I get extremely suspicious whenever someone says something like "just copy the files and re-run the install command". It's never been that simple in my experience.

I mean. Helix is a pretty decent editor with a nice set of defaults over vim.

Not as customizable. But I pretty much would configure vim to do what helix does out of the box anyway.

>just login in GitHubs vscode

Imagine if you had to do that to every program you want to configure. Sure, rsync/git cloning your config may be less straightforward than logging in somewhere, but it's far more convenient when you have to configure dozens of programs anyway.

I understand your point, but the person above has to login to Git every time they want to pull down their .vim config. It's a similar thing.
You don't have to login to Git if your dotfiles are public. Or if you throw them up on a "private only by lack of awareness" repo.
And then a coworker/boss is at your desk with you and needs to show you how to do something and cannot for the life of them grok wtf your personalized bs is, requiring them to go get their own absurdly personalized mess to show you, and still you both have problems because the workload they showed you tonsave an hour a day would require you to pull out massive chunks of your personalized bs in order to add in a huge chunk of their personalized bs.

And that doesn't even get into what happens on shared machines (servers etc) where your entire workflow either doesn't work or entirely prevents others from being able to get anything done on the machine.

Really.... we all recognize the value of standardization when it comes to our code but yall fight tooth and nail about standardization in other aspects of the profession.... and then wonder why everything is a buggy unintelligible mess at 99% of workplaces and projects...

This reads so much like that macho programmer who wrote everything in assembler from a few decades ago.

I will keep using Sublime Text. No need to suffer needlessly.

> that macho programmer

Why do people keep making value judgements about people that built tools they trust like they should be ashamed or something like that?

Parent simply explained his process and why he uses vim like that and why he doesn't like VSCode. There's nothing there that says "macho" in any shape or form. I don't understand this need to put labels on others like this. Maybe it makes people feel better about their own choices? Helps with insecurity? I don't know.

Whatever it is, this doesn't add to the conversation at all.

I think it’s because of the statement “you can only copy what you understand”. I get the sentiment, but comes off as paternal rather than collaborative.
Could be, but how is that macho in any way?

If anything, it's sound advice. Most of my early day colleagues copy/pasted everything from StackOverflow without understanding any of it, causing huge issues down the line.

They were the classic duct-tape programmers and that didn't help them at all to grow as programmers and even impacted their careers.

Labeling this as "macho" implies that properly understanding your tools is actively bad. Couldn't be further from the truth.

This sounds like a refutation, but it's also in the same spirit as the parent. "No need to deal with insane complexities, I'll stick with my simple editor." Whether that's vim or Sublime, that answer works, and that's pretty cool.
Except that ST is not "simple" by any measure.

It uses the standard bindings I learned with Windows decades ago, and builds on that.

Vim forces me to change it all to the vim-like model.

It's about having to learn a new set of key bindings just for that program alone.

That makes sense, and I definitely wasn't trying to denigrate ST. Having not touched Windows since 2003, and having come from the vim world I had to learn a few aspects of Sublime to help my coworkers out, and just like you say, having to learn a new set of keybindings was a pain.
This is pretty ironic, given that Sublime Text is basically dead in terms of community, number of users, etc and definitely isn't a full IDE.
Been reading that for years.

The language server protocol works perfectly fine with ST4, and it is better than ever. Whatever our small community needs, it's there.

The fact it is not a "full IDE" is also one of the reasons I like it.

Am I crazy to think that I don't need a "community" to edit text?
Why does it need a community? I pay for the tool and it does what I want it to do.
> Everytime I test vscode, it does not do what I want and when I look into it, I can't configure it correctly. Vim has always my back.

Can you expand on this? What specifically does not work for you on vscode?

I don't believe in 10x programmer and know this term only from HN. I live in France and after 10years programming, I never heard a collegue said "I am a 10x programmer". However, I always make sure any git project can be worked on with any IDE. I use vim, some use PyCharm and most of them use VScode and it works fine.

However, I can tell you my main pain point in using VS code vs vim: project switching. Many times I have to go quickly to another project and close it. When I code in vim this this :

ctrl+Z (go back to term) workon project_2 vim ctrl+P (select the file I need to see or quickly edit or show to a colleage to explain) :q! (let's say I didn't edit anything) fg (Go back to my main task)

Did not know how to be that fast to open/close project with a _real_ IDE.

To oppose this, there is one feature I envy of vs code: code in docker through ssh seamlessly. Unfortunately this is not even available in vscodium.

This exists in VSCode, it's called workspaces. You save a .workspace file, then with either an extension like this one[1] bound a key (very easy to do), or just using the command pallette to open it, you can switch to any workspace you want; in the same window or a new window, and you can have the exact files/layout/tabs you had open the last time you were using that workspace open automatically.

It's very simple. It's certainly more simple from first principles than your method, but if you are adept at using the shell as you clearly are, then your 'fg && vim ctrl-p` certainly must feel pretty natural; but I hope you understand that this is only because you have probably lived on the shell for many years. I used to do that too, with tmux and vim configs, but now I find it much simpler, faster, and better to use VSCode. I'm not saying you should switch, I'm only saying that just because it's not on the shell doesn't mean it's worse.

[1] https://marketplace.visualstudio.com/items?itemName=sadesyll...

what's the current recommended package manager for vim? I used to use vundle but that seems to be unmaintained/deprecated and has broken on recent installs.
Lazy.vim. Long time plug user... Recently migrated to lazy and haven't been disappointed. Fixes a number of niggles I had with vim plug
For me it’s plug. It just works.