Hacker News new | ask | show | jobs
by nitemice 2094 days ago
As someone who uses all three of the editors you named, I think that each serves a pretty different purpose in practice. Each aspires to be the be-all, end-all editor/IDE, but that's just unrealistic to me.

For me, I use VIM all day, every day at work (C++), because while it doesn't have the full IDE experience out of the box, it's close enough, and can be brought much closer with various plugins and knowledgeable adjustments. I've stuck with it because "it just works" and I'm use to it. A previous colleague was a big VIM evangelist, so got a running start from him, and now I've tweaked it enough that it works well for me.

VSCode is my general purpose text editor at home. If I'm writing markdown, or fixing some script, or I just need to see what's in that file, I'll use VSCode. It is the obvious, far superior replacement for Notepad, and has plenty of niceties to make it that much easier to use.

But if I'm building something with a lot of moving parts in one of its supported languages, I'll use IntelliJ. I don't often write Java these days, but PyCharm is just a reskin for Python and I think it's great. It does so much junk for you, and it makes testing and debugging so easy. It does trip up my muscle-memory occasionally, but for the most part it's a powerful tool that's great at what it does.

5 comments

> I'm used to it

That about sums it up. People use what they are used to. I don't try to convert anyone. I use the tool I like and to each their own.

Agreed. Converting other people is a fool's errand anyway. I am interested in things like EditorConfig to allow some similar settings between editors so that individual team members can use whatever software they like without affecting general code style. But I don't think EditorConfig is end-game and there's room to grow in this area.
Your description pretty much sums it up for me.

I use vim primarily for around 9 years now, and with ALE as a linter plugin it's integrated with languages I even don't know existed until I need to fix something in it in a foreign codebase.

If I need to go typescript or web, vscode is very tightly integrated with the build toolchains, so the occasional fix in vscode is necessary for me when I need to fix a bug upstream.

I tried migrating to neovim a lot of times, but their syntax highlighting is always so damn broken even with a plain vimrc that I stopped bothering anymore.

Currently, I'm trying to migrate to kakoune because I've heard a lot of nice things, and the ecosystem seems to be better integrated with lsp and rust, but honestly my muscle memory is damn strong, so it's actually kind of a burden at the moment and I'm gonna need a while if I keep pursuing this.

One benefit though that both emacs and vim have is ssh usage. Debugging and reading logs on a remote server is pain sometimes, and my vim profile eases that sooo much up that I saved a shitload of time by using it.

> I tried migrating to neovim a lot of times, but their syntax highlighting is always so damn broken even with a plain vimrc that I stopped bothering anymore.

I haven't encountered highlighting issues in neovim, but the treesitter feature in the upcoming neovim 0.5 improves highlighting a lot. (It's a plugin at the moment that requires a bit of configuration. This is the simplest setup explanation I have found: https://www.reddit.com/r/neovim/comments/iw9nx5/moonfly_nigh... )

I tried kakoune out for a while but missed Vim's window management, had the same struggle fighting muscle memory that you describe, missed the ecosystem from Vim, and I think some of the criticisms of Kakoune here are also valid: https://github.com/noctuid/dotfiles/blob/master/emacs/editin....

I couldn't stand VScode when I tried it. To be honest I didnt even get it working properly for C development. Visual studio on the other hand is awesome.
What kind of problems have you ran into? I am not having any problems using VScode for C.
I find CLion really nice for writing C++ + Jetbrains Vim bindings are pretty good
I tried it a loooong time ago, for C, and I couldn't get the hand of it, even though I had used IntelliJ a bunch.

I've heard it's much better than when they launched it, but our build system is so eccentric that I don't think it'd get along well at my work.

yeah, I tried it when it first came along, and I didn't get along with it too well, but it seems quite good now. But yes, possibly might be tricky with different kinds of build environments, I haven't really dug into that side too much.
IdeaVim always seems extremely buggy to me compared to what I'm used to in vscode-vim
odd, never really had a problem with it, of all the vim emulations I've found it to be one of the best. It's not fully featured, but none of them are.

I also use vscode-vim.

My biggest complaint is that Shift+V and selecting lines will sometimes jump to completely random spots in my file. It makes it unusuable sometimes.
in what Jetbrains product? I use Visual Lines all the time in webstorm, rider, and clion for multiple purposes

possibly some other keybinding is getting accidently triggered somehow..

IntelliJ ultimate! It's the default config so idk! It happens quite a bit when editing twirl templates (scala mvc), so maybe it's that.
IMHO, the main stopper for vim/emacs to go mainstream is lack of packages for preconfigured flavors of vim. E.g. `dnf install vim-perl -y ; vip myprogram.pl` or `dnf install vim-c -y; vic myprogram.c` .